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")