1. 理解命令和函數(shù)代表的意思,才能靈活運(yùn)用
2. 2個重要的數(shù)據(jù)類型:向量vector、數(shù)據(jù)框Data frame
3. 向量vector
3.1 變量賦值
3.2 向量中提取元素
方法:3.2.1 元素的位置
3.2.2 元素的值
4. 數(shù)據(jù)框
4.1 明確幾個知識點(diǎn)
4.1.1 sep 是函數(shù)的形式參數(shù)纽疟,多數(shù)情況下盛泡, seq 參數(shù)用來指定字符的分隔符號。
不僅用在你所提到的輸出夷蚊,也用在輸入构挤,也用在字符串的合并與拆分上。
csv 文件是用逗號分隔的惕鼓,故而 sep = ","
tsv 文件是用制表符分隔的寿冕,故而 sep = "\t"
常用的分隔符還有空格 sep = " "
分隔符是任意的,可根據(jù)具體情況指定的规个。
在輸入的時候栓拜,原內(nèi)容是用什么符號分隔的,sep就要保持一致呀邢,否則可能無法正確讀取洒沦。在輸出時雖說分隔符是可以任意指定,但也要遵循一個原則价淌,就是分隔符號不要與待輸出內(nèi)容中的字符有重復(fù)申眼。
否則輸出后的文件瞒津,重新讀取的時候該分隔符并不能有效正確分開,可能出錯括尸。
4.1.2 header=T
true則excel第一行用于列名稱巷蚪,具體數(shù)據(jù)從第二行開始
false則第一行即為具體數(shù)據(jù)
4.1.3? write.table (x, file ="", sep ="", row.names =TRUE, col.names =TRUE, quote =TRUE)
參數(shù)說明:
x:需要導(dǎo)出的數(shù)據(jù)
file:導(dǎo)出的文件路徑
sep:分隔符,默認(rèn)為空格(” “)濒翻,也就是以空格為分割列
row.names:是否導(dǎo)出行序號屁柏,默認(rèn)為TRUE,也就是導(dǎo)出行序號
col.names:是否導(dǎo)出列名肴焊,默認(rèn)為TRUE前联,也就是導(dǎo)出列名
quote:字符串是否使用引號表示,默認(rèn)為TRUE娶眷,也就是使用引號表示
4.1.4? p<-paste("b",1:5)
"b 1" "b 2" "b 3" "b 4" "b 5" 注意這里每一項(xiàng)中間有空格隔開似嗤,如果不想要空格,需要使用sep參數(shù)
p<-paste("b",1:5,sep="")
?"b1" "b2" "b3" "b4" "b5"
所以sep參數(shù)的作用是隔開被連接在一起的數(shù)據(jù)届宠,當(dāng)然必須是character string烁落,例如:
p <-paste("b",1:5,sep="f")
"bf1" "bf2" "bf3" "bf4" "bf5"
collapse通常不用給出,如果給出豌注,則整個結(jié)果變?yōu)橐粋€string,例如:
?p <-paste("b",1:5,sep="f",collapse="s")
?"bf1sbf2sbf3sbf4sbf5"
4.2 讀取本地?cái)?shù)據(jù)(必須放在工作目錄里的數(shù)據(jù))
4.3 設(shè)置行名和列名
4.4 數(shù)據(jù)框?qū)С?/p>
write.table(X,file = "a.txt",sep = ",",quote=T)#分隔符改為逗號伤塌,字符串不加雙引號(默認(rèn)格式帶由雙引號)
4.5 保存變量,重新加載
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(X,file="test.RData")#保存其中一個變量
load("test.RData")#再次使用RData時的加載命令
4.6 提取元素
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$列名#也可以提取列
4.7?直接使用數(shù)據(jù)框中的變量
4.7.1 方法1
b <-data.frame(case=paste("S",1:50)),values=runif(50))
plot(b$case,b$values)
4.7.2 方法2
b <-data.frame(case=paste("S",1:50)),values=runif(50))
attach(b)
plot(case,values)
4.7.3 方法3
b <-data.frame(case=paste("S",1:50)),values=runif(50))
with(a,{
?plot(case,values)
x<<-summary(values)???#求和并賦值給x,<<的意思是作為全局變量轧铁,也就是出了大括號仍有效每聪。
})
問題:1.save(X,file="test.RData")這句代碼如果報錯X not found
變量X不存在,或者錯誤定義齿风。
解決方法:定義變量X药薯。