R主要在于其強大的數據處理及結果可視化能力,但往往可視化前的數據處理占用了比較多的精力,以便用來糾錯(debug)。
R數據的讀取
文本文件讀取
- read.table() 或 data.table::fread(): 讀取文本文件
read.table(file, header = FALSE, sep = "", quote = "\"'",
dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
row.names, col.names, as.is = !stringsAsFactors,
na.strings = "NA", colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#",
allowEscapes = FALSE, flush = FALSE,
stringsAsFactors = default.stringsAsFactors(),
fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
實例
gset<-read.table("GSE number",sep="\t",quote="",header=T,comment.char="!",fill=T)
##讀取結果為表達矩陣,不需要再通過exprs()函數提取表達矩陣
對于老版affymetrix芯片的GSE..._RAW.tar中的CEL.gz文件需使用特殊的affy包及ReadAffy()函數
library(affy)
gset<-ReadAffy(data)
對于新版的affymetrix芯片的GSE..._RAW.tar中的CEL.gz文件需用oligo包處理
library(oligo)
Files<-list.celfiles()
Rawdata<-read.celfiles(Files)
- read.csv(): 讀取csv文件
如果出現缺失值,read.table()會報錯刑顺,read.csv()讀取時會自動在缺失的位置填補NA - 靈活的讀取指令scan() :
- 讀取固定寬度格式的文件:read.fwf()
R數據的保存
cat()函數
cat(...,file="",sep="",fill = FALSE ,labels=NULL,append=FALSE) #file表示要輸出的文件名氯窍,當參數append=TRUE時,在指定文件的末尾添加內容蹲堂。sep:表示以空格作為分隔符
write.table() 或write.csv()函數
- write.table() 可以把一個數據框或列表等對象以包含行列標簽的方式寫出狼讨。
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",
eol = "\n", na = "NA", dec = ".", row.names = TRUE,
col.names = TRUE, qmethod = c("escape", "double"),
fileEncoding = "")
- write.csv(): 將數據框保存為逗號分隔文件,但是不包含列名柒竞。
save()函數
可以保存.Rdata數據
save(gset,file="gset_name.Rdata")