
生信星球?qū)W習(xí)Day5
一、向量
1.標(biāo)題和向量的區(qū)分
標(biāo)量:一個(gè)元素組成的變量
向量:多個(gè)元素組成的變量
> x<- c(1,2,3)#常用的向量寫(xiě)法,意為將x定義為由元素1,2,3組成的向量。
> x
[1] 1 2 3
> x<- 1:10#從1-10之間所有的整數(shù)
> x
[1] 1 2 3 4 5 6 7 8 9 10
> x<- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個(gè)數(shù)(注意是逗號(hào)不是分號(hào))
> x
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0
[12] 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0
> x<- rep(1:3,times=2)#1-3 重復(fù)2次
> x
[1] 1 2 3 1 2 3
2.從向量中提取元素
- 根據(jù)元素位置
> x[4] #x第4個(gè)元素
[1] 1
> x[-4]#排除法,除了第4個(gè)元素之外剩余的元素
[1] 1 2 3 2 3
> x[2:4]#第2到4個(gè)元素
[1] 2 3 1
> x[-(2:4)]#除了第2-4個(gè)元素
[1] 1 2 3
> x[c(1,5)] #第1個(gè)和第5個(gè)元素
[1] 1 2
| x | 1 | 2 | 3 | 1 | 2 | 3 |
|---|---|---|---|---|---|---|
| x[4] | - | - | - | 1 | - | - |
| x[-4] | 1 | 2 | 3 | - | 2 | 3 |
| x[2:4] | - | 2 | 3 | 1 | - | - |
| x[-(2:4)] | 1 | - | - | - | 2 | 3 |
| x[c(1,5)] | 1 | - | - | - | 2 | - |
- 根據(jù)值
> x[x==10]#等于10的元素
integer(0)
> x[x>2]
[1] 3 3
> x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
[1] 1 2 1 2
二、數(shù)據(jù)框
要將數(shù)據(jù)放在工作目錄下,或設(shè)置工作目錄到數(shù)據(jù)文件所在位置。
將工作目錄放在桌面,代碼setwd("~/Desktop")
也可以這樣設(shè)置:

設(shè)置工作文件夾.png
(1) 讀取本地?cái)?shù)據(jù)
a<-read.table(file = 'huahua.txt',sep = '\t',header = T)
(2) 設(shè)置行名和列名
> X<-read.csv('doudou.txt')
> colnames(X) #查看列名
[1] "X1" "X2"
> rownames(X) #查看行名,默認(rèn)值的行名就是行號(hào),1.2.3.4...
[1] "1" "2" "3" "4" "5"

X.png
> colnames(X)[1]<-"bioplanet"#有的公司返回?cái)?shù)據(jù),左上角第一格為空,R會(huì)自動(dòng)補(bǔ)為x,用這個(gè)命令來(lái)修改

Xrename.png
> X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列為行名

X3.png
(3)數(shù)據(jù)框的導(dǎo)出
> write.table(X,file = "yu.txt",sep = ",",quote=F)

yu.png
(4)變量的保存與重新加載
> save.image(file="bioinfoplanet.RData")
> save(X,file="test.RData")#保存其中一個(gè)變量
> load("test.RData")#再次使用RData時(shí)的加載命令

save.png
(5)提取元素

a.png
> a[4,2]#第4行、第2列
[1] 3
> a[2,]#第2行,所有列
X1 X2
2 B NA
> a[,1]#所有行,第1列
[1] "A" "B" "C" "D" "E"
> a[1]#第1列
X1
1 A
2 B
3 C
4 D
5 E
> a[1:2]#第1到2列,等于a[,1:2]
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> a[1:2,]#第1到2行,所有列
X1 X2
1 A 1
2 B NA
> a[c(2,4),]#第2、4行,所有列
X1 X2
2 B NA
3 C NA
4 D 3
> a[c(1,2),2]#第1,2行,第2列
[1] 1 NA
(6)【選修部分】直接使用數(shù)據(jù)框中的變量
> options(stringsAsFactors = T)
> a <-data.frame(case=paste0("S",1:9),values=runif(9))
> plot(a$case,a$values)

Rplot03.png
- attach用法
> attach(a)
> plot(case,values)
> detach(a)
- with用法
> with(a,{
+ plot(case,values)
+ x<<-summary(values) #求和并賦值給x,<<的意思是作為全局變量,也就是出了大括號(hào)仍有效。
+ })
> x #運(yùn)行完后打印x