數(shù)據(jù)結(jié)構(gòu)
在這些數(shù)據(jù)類(lèi)型里,生信學(xué)習(xí)者最需要熟悉的是向量和數(shù)據(jù)框。
part1:向量
-
標(biāo)量和向量的區(qū)分
標(biāo)量:一個(gè)元素組成的變量
向量:多個(gè)元素組成的變量
微信圖片_20220506223514.png 從向量中提取元素
(1) 根據(jù)元素位置
這里的x是你剛才賦值的變量名,根據(jù)自己的情況來(lái)修改
x[4] #x第4個(gè)元素
x[-4]#排除法,除了第4個(gè)元素之外剩余的元素
x[2:4]#第2到4個(gè)元素
x[-(2:4)]#除了第2-4個(gè)元素
x[c(1,5)] #第1個(gè)和第5個(gè)元素```
(2) 根據(jù)值
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素```
Part2:數(shù)據(jù)框
(1)讀取本地?cái)?shù)據(jù)

圖片引用生信星球
(2)設(shè)置行名和列名
X<-read.csv('doudou.txt') #在示例數(shù)據(jù)里有doudou.txt 注意這里的變量X是一個(gè)數(shù)據(jù)框
colnames(X) #查看列名
rownames(X) #查看行名,默認(rèn)值的行名就是行號(hào),1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回?cái)?shù)據(jù),左上角第一格為空,R會(huì)自動(dòng)補(bǔ)為x,用這個(gè)命令來(lái)修改
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列為行名
(3)數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改為逗號(hào),字符串不加雙引號(hào)(默認(rèn)格式帶由雙引號(hào))
(4)變量的保存與重新加載
這次沒(méi)有處理完的數(shù)據(jù)下次想接著用怎么辦?--學(xué)會(huì)保存和重新加載。保存的格式是RData。
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(X,file="test.RData")#保存其中一個(gè)變量
load("test.RData")#再次使用RData時(shí)的加載命令
(5)提取元素
- X[x,y]#第x行第y列
- X[x,]#第x行
- X[,y]#第y列
- X[y] #也是第y列
- X[a:b]#第a列到第b列
- X[c(a,b)]#第a列和第b列
- X$列名#也可以提取列(優(yōu)秀寫(xiě)法,而且這個(gè)命令還優(yōu)秀到不用寫(xiě)括號(hào)的地步,并且支持Tab自動(dòng)補(bǔ)全哦,不過(guò)只能提取一列)
上述代碼和內(nèi)容均引用自生信星球
學(xué)習(xí)思維導(dǎo)圖

save(X,file="test.RData")這句代碼如果報(bào)錯(cuò)object X not found,是為什么,應(yīng)該怎么解決?
答:X文件不存在或者找不到,解決方法把想保存的文件賦值給X或者直接用保存文件名字。
