QQ登錄

只需一步,快速開始

使用微信賬號登錄

查看: 7516|回復: 21
打印 上一主題 下一主題

R語言21天學習筆記

  [復制鏈接]

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
樓主
跳轉到指定樓層
發表于 2017-9-19 10:05:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
生信自學課堂
本帖最后由 蘋果apple 于 2017-9-19 10:15 編輯

第一天:
  1. x=1:100 #把1,2,。。。100個整數向量賦值到x

  2. (x=1:100) #同上,只不過顯示出來

  3. sample(x,20) #從1,2,。。。,100中隨機不放回地抽取20個值做樣本

  4. set.seed(0);sample(1:10,3) #先設隨機種子,再抽樣

  5. z=sample(1:20000,10000) #從1到20000中不放回抽取10000個樣本

  6. z[1:10] #方括號中為向量z的下標

  7. y=c(1,3,7,3,4,2)

  8. z[y] #以y為下標的z的元素值

  9. (z=sample(x,100,rep=T)) #從x中有放回地隨機抽取100個值做樣本

  10. (z1=unique(z))

  11. length(z1) #z1中不同的元素個數

  12. xz=setdiff(x,z) # x和z之間的不同元素 —— 集合差

  13. sort(union(xz),z) #對xz以及z的并的元素從小到大排序

  14. setequal(union(xz,z),x) #xz以及z的并的元素與x是否一樣

  15. intersect(1:10,7:50) #兩個數據的交

  16. sample(1:100,20,prob=1:100) #從1:100中不等概率隨機抽樣,各個數字被抽到的概率與其值成比例
復制代碼


分享到:
回復

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
沙發
 樓主| 發表于 2017-9-19 10:07:07 | 只看該作者
生信自學課堂
本帖最后由 蘋果apple 于 2017-9-19 10:15 編輯

第二天:
  1. pi*10^2 #

  2. '*'(pi, '^'(10,2)) #

  3. pi*(1:10)^-2.3 #可以對向量求指數冪

  4. x=pi*10^2 #

  5. x

  6. print(x) #

  7. (x=pi*10^2) #賦值帶打印

  8. pi^(1:5) #指數也可以是向量

  9. print(x,digits=12) #輸出x的12位數字
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
板凳
 樓主| 發表于 2017-9-19 10:08:45 | 只看該作者
生信自學課堂
第三天:關于R的對象類型等
  1. x=pi*10^2 #

  2. class(x) # x的class

  3. typeof(x) # x的type

  4. class(cars) # cars是R中自帶的數據

  5. typeof(cars) #cars的type

  6. names(cars) # cars數據的變量名字

  7. summary(cars) # cars的匯總

  8. head(class) #  cars的頭幾行數據,和cars[1:6,]相同

  9. tail(class) # cars的最后幾行數據

  10. str(cars) # 也是匯總 ???

  11. row.name(cars) # 行名字

  12. attributes(cars) #cars的一些信息

  13. class(dist~speed) # 公式形式 ,“~”的左邊是因變量,右邊是自變量

  14. plot(dist~speed,cars) # 兩個變量的散點圖

  15. plot(cars$speed,cars$dist) # 同上
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
地板
 樓主| 發表于 2017-9-19 10:12:45 | 只看該作者
生信自學課堂
第四天:包括簡單自變量為定變量 及定性變量的回歸
  1. ncol(cars),nrow(cars) #cars的行列數

  2. dim(cars) # cars的維數

  3. lm(dist~speed, data =cars) #一dist為因變量,speed為自變量做OLS,,,

  4. cars$qspeed = cut(cars$speed, breaks=quantile(cars$speed),include.lowest=TRUE) #增加定性變量qspeed,四分點位為分割點

  5. names(cars) #數據cars多了一個變量

  6. cars[3] #第三個變量的值 ,和  cars[,3]類似

  7. table(cars[3]) #列表

  8. is.factor(car$speed) #

  9. plot(dist~speed,data=cars) #點出箱線圖

  10. (a=lm(dist~speed, data=cars)) #擬合線性模型(簡單最小二乘回歸)

  11. summary(a) #回歸結果(包括一些檢驗)
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
5#
 樓主| 發表于 2017-9-19 10:14:55 | 只看該作者
生信自學課堂
第五天:簡單樣本描述統計量
  1. x<-round(runif(20,0,20),digits=2)

  2. summary(x) # 匯總

  3. min(x),max(x) range(x) # 極值 范圍

  4. median(x) #中位數

  5. mean(x) #均值

  6. var(x) #方差

  7. sd(x) # 標準差

  8. sqrt(var(x)) #平方根

  9. rank(x) # 秩(rank)

  10. order(x) # 升冪排列的x的下標

  11. order(x,decreasing=T) #降冪排列的x的下標

  12. x[order(x)] #和sort(x) 相同

  13. sort(x,decreasing=T) sort(x,dec=T) #降冪排列的x

  14. sum(x);length(x) #元素和 以及向量的個數

  15. round(x) 等同于round(x,0) 而round(x,5) 表示保留小數點后5位

  16. fivenum(x), # 五數匯總

  17. quantile(x)  #分點位 quantiles(different convention)

  18. quantile(x,c(0,.33,.66,1)) #

  19. mad(x)# 'median average distance':

  20. cummax(x) #累積最大值

  21. cummin(x) #累積最小值

  22. sumprod(x) #累積積

  23. cor(x,sin(x/20)) #線性相關系數 (correlation)
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
6#
 樓主| 發表于 2017-9-19 10:16:45 | 只看該作者
生信自學課堂
第六天:簡單圖形
  1. x=rnorm(200) #200個隨機正態數賦值到x

  2. hist(x, col='light blue') #直方圖 histogram

  3. rug(x) #在直方圖下面加上實際點的大小

  4. stem(x) # 莖葉圖

  5. x<> #

  6. y<> #構造一個線性關系

  7. plot(y ~x) #散點圖

  8. a=lm(y~x) # 做回歸

  9. abline(a,col='red') # 加擬合線 同abline(lm(y~x),col='red')

  10. print('Hello world!') #打印

  11. paste('x的最小值= ',min(x)) #

  12. demo(graphics) # 演示畫圖(點Enter切換)
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
7#
 樓主| 發表于 2017-9-19 10:17:33 | 只看該作者
生信自學課堂
第七天:復數運算和求函數極值
  1. (2+4i)^-3.5+(2i+4.5)*(-1.7-2.3i)/((2.6-7i)*(-4+5.1i)) #復數運算

  2. (z<> #一個10維復向量,實部和虛部均為10個標準正態樣本點

  3. complex(re=rnorm(3),im=rnorm(3)) #3維復向量

  4. Re(z) # 實部

  5. Im(z) # 虛部

  6. Mod(z) # 模

  7. Arg(z) # 輻角

  8. choose(3,2)  #組合

  9. factorial(6) #排列6!

  10. #解方程:

  11. f=function(x) x^3-2*x-1

  12. uniroot(f,c(0,2)) #迭代求根

  13. #如果知道根為極值

  14. f=function(x) x^2+2*x+1 #定義一個二次函數

  15. optimize(f,c(-2,2)) #在區間(-2,2) 求極值
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
8#
 樓主| 發表于 2017-9-19 10:18:58 | 只看該作者
生信自學課堂
第八天:字符型向量
  1. a=factor(letter[1:10]) #letters:小寫字母的向量,LETTERS:大寫字母的向量

  2. a[3]='w' #不行,警告!

  3. a=as.character(a) #轉換一下

  4. a[3]='w' #可以了

  5. a;character(a) #兩種不同的類型
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
9#
 樓主| 發表于 2017-9-19 10:19:50 | 只看該作者
生信自學課堂
第九天:數據輸入輸出
  1. x=scan() #

  2. x=c( 1.5 , 2.6,  3.7,  2.1,  8.9, 12.0, -1.2, -4.0) #

  3. w=read.table(file.choose(),header=T) #從列表中選擇有變量名的數據

  4. setwd('f:/2013stat') set('f:\2013stat') #建立工作路徑

  5. (x=rnorm(20)) #給x賦值20個標準正態數據值

  6. write(x,'f:/2013stat/test.txt') #把數據寫入文件

  7. y=scan(x,'f:/2013stat/test.txt');y #掃描文件數值數據到y

  8. y=iris;y[1:5,];str(y) #iris是R自帶數據

  9. write.table(y,'test.txt',row.name=F) #把數據寫入文本文件

  10. w=read.table('f:/2013stat/test.txt',header=T) #讀帶有變量名的數據

  11. str(w) #匯總

  12. write.csv(y,'test.csv') #把數據寫入csv文件

  13. v=read.csv('f:/2013stat/test.csv') #讀入csv數據文件

  14. str(v) #匯總

  15. data=read.table('clipboard') #讀入剪貼板的數據
復制代碼


回復 支持 反對

使用道具 舉報

該用戶從未簽到

6

主題

34

帖子

100

積分

注冊會員

Rank: 2

積分
100
10#
 樓主| 發表于 2017-9-19 10:23:22 | 只看該作者
生信自學課堂
第十天:序列
  1. (z=seq(-1,10,length=100)) # -1到10等間隔的100個數的序列

  2. z=seq(-1,10,length=100) #同上

  3. (z=seq(10,-1,-0.1)) #10到-1間隔為-0.1的序列

  4. (x=rep(1:3,3)) #三次重復1:3

  5. (x=rep(3:5,1:3)) #

  6. x=rep(c(1,10),c(4,5)) #

  7. w=c(1,3,x,z) #w[3]把數據(包括向量)組合成一個向量

  8. x=rep(0,10);z=1:3;x+z #向量加法,警告信息:

  9.                                  In x + z : 長的對象長度不是短的對象長度的整倍數

  10. x*z #乘法

  11. rev(x) #顛倒次序

  12. z=c('no cat ','has','nine','tails') #字符向量

  13. z[1]=='no cat' #邏輯等式

  14. z=1:5 #

  15. z[7]=8;z #

  16. z=NULL #

  17. z[c(1,3,5)]=1:3 #

  18. z #

  19. rnorm(10)[(2,5)] #

  20. z[-c(1,3)] #去掉第1,3個元素

  21. z=sample(1:100,10);z #

  22. which(z==max(z)) #給出最大值的下標
復制代碼


回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

客服熱線
18520221056(微信) 周一至周日:09:00 - 22:00
公司官網:http://www.hbnisg.live

速科生物是一家融生信創新、設計、技術開發、服務為核心的生物公司,生信自學網專注于生信培訓周邊課程開發和代碼設計,堅持為客戶打造高品質的精品課程和培訓服務。

Powered by 生信自學網 © 2016-2019 江西速科生物

QQ|生信自學論壇 ( 贛ICP備19001400號-1 )

GMT+8, 2019-9-7 16:26 , Processed in 0.160940 second(s), 23 queries .

快速回復 返回頂部 返回列表
12134期6场半全场