數(shù)據(jù)結(jié)構(gòu)
今天學(xué)習(xí)的數(shù)據(jù)類型主要有向量(vector)和數(shù)據(jù)框(Data frame)。
向量
1.標(biāo)量與向量區(qū)分:
元素:數(shù)字或者字符串(用chr表示)等
標(biāo)量:1個元素組成的變量
向量:多個元素組成的變量
2.賦值:
eg:x<- 4 #x=4
3.從向量中提取元素
可以根據(jù)元素位置或值來提取面徽。eg:
x[4] #提取x中第四個元素
x[-4]#除了第4個元素之外剩余的元素
x[2:4]#第2到4個元素
x[-(2:4)]#除了第2-4個元素
x[c(1,5)] #第1個和第5個元素
x[x==10]#等于10的元素
x[x<0]#小于0的元素
x[x %in% c(1,2,5)]#存在于向量c(1近速,2车要,5)中的元素
例子中的%in%:判斷前面一個向量內(nèi)的元素是否在后面一個向量中书蚪,返回布爾值剃袍。布爾值代表“真”和“假”兩個狀態(tài)剥悟∑炱耍“真”用關(guān)鍵字true表示蹦骑,“假”用關(guān)鍵字false表示
a <- c(1,3,13,1443,43,43,4,34,3,4,3)
?b <- c(1,13,11,1313,434,1)
?a %in% b
結(jié)果為:
[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
?a[a %in% b]??? #提取元素
結(jié)果為:
[1] 1 13??
數(shù)據(jù)框
一定要將要用到的數(shù)據(jù)文件發(fā)到工作目錄下!M畏馈眠菇!
X<-read.csv("文件名.txt")
可獲得數(shù)據(jù)框边败。
若不明白某個函數(shù)的用法,可以使用命令? 函數(shù)名稱
來獲得右下角方框中help的幫助捎废。
1.讀取本地數(shù)據(jù):
a<-read.table() #讀取文件并賦值給a
sep #字段間隔符
header #當(dāng)且僅當(dāng)?shù)谝恍邪攘袛?shù)少一個字段時笑窜,header=true
2.設(shè)置行名和列名
先查看:colnames(X),rownames(X)
再設(shè)置:
colnames(X)[1]<-"bioplanet" #將左上角第一格改為bioplanet
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)#分隔符改為逗號
quote #字符串不加雙引號(默認(rèn)格式帶由雙引號)
4.變量的保存與重新加載
save.image(file="bioinfoplanet.RData") #保存當(dāng)前所有變量
save(X,file="test.RData") #保存其中一個變量
load("test.RData") #再次使用RData時的加載命令
5.提取元素
- X[x,y] #提取第x行第y列的元素
- X[x,] #第x行
- X[,y] 和 - X[y] #第y列
- X[a:b] #第a列到第b列
- X[c(a,b)] #第a列和第b列
- X$列名 #也可以提取列登疗,不過只能提取一列
腳本文件的后綴是.R排截。若要保存為腳本,則直接保存(save)即可辐益;若要打開断傲,則在R studio中打開即可。
如果save(X,file="test.RData")
這句代碼如果報錯X not found智政,那么原因可能是其中的大小寫不統(tǒng)一认罩,改成統(tǒng)一就可以啦。