R way -- P5
Tips
-
讀取文件時瑞驱,
read.table(file = "filename" , sep = "\t" , header = T )
,- 其中
sep
是形式參數(shù),用來指定字符的分隔符號。csv 文件是用逗號分隔的票彪,所以sep = ","
,tsv和txt文件是以 制表符 分隔的,所以sep = "\t"
,如果有文件的是以空格分隔的,則sep = " "
- 其中
header = T
指的是導入數(shù)據(jù)時,第一行作為 列的名稱幸缕,具體數(shù)據(jù)從第二行開始 ,如果header = F
指的是晰韵,第一行視為具體數(shù)據(jù)发乔。
- 其中
-
colnames(a)
#查看 a 的列名;rownames(a)
#查看 a 的行名-
colnames(a)[1] <- "newname"
#如果左上角第一個為空雪猪,R會自動補為x栏尚,用這個命令來修改成自己想要的名字
-
b <- read.csv(file = "filename", sep = ",", header = T, row.names = 1)
#這行代碼中最后的row.names = 1
的意思是 第一列為行名。write.table(a, file = "filename2", sep = ",", quote = F)
#導出數(shù)據(jù)框只恨。quote = F
意思是 字符串不加雙引號 (默認格式帶有雙引號译仗,不影響讀入)這次沒有處理完的數(shù)據(jù)下次想接著用怎么辦?--學會保存和重新加載。保存的格式是
.RData坤次。
save.image(file="bioinfoplanet.RData")
#保存鏡像文件
save(X,file="test.RData")
#保存其中一個變量
load("test.RData")
#再次使用 RData 時的加載命令X$列名
#可以提取列(優(yōu)秀寫法,而且這個命令還優(yōu)秀到不用寫括號的地步斥赋,并且支持Tab自動補全哦缰猴,不過只能提取一列)-
a <-data.frame(case=paste("S",1:50),values=runif(50))
# case和values 是列名。
plot(a$case,a$values)
#根據(jù)這兩列的數(shù)據(jù)作圖
為了避免多次輸入變量a
,可有更高效的方式-
attach(a) plot(case,values)
#attach(a),就是將數(shù)據(jù)框名添加到搜索環(huán)境中疤剑,作圖時就只需輸入列名(連$都不用了)滑绒。detach(a)
#做完之后,將a刪除出搜索環(huán)境隘膘。
局限性:兩個以上數(shù)據(jù)框的列名有沖突時疑故,同時attach會報錯。
-
課后作業(yè)
原因可能是前文代碼中的x與保存文件是的x的大小寫不統(tǒng)一弯菊,造成找不到對象纵势。
所以在命名變量時,盡量使用大小寫不同的英文字母。