R将.tsv文件导入为矩阵(基本R)
示例
file.path建立文件路径时,许多人没有利用。但是,如果您使用的是Windows,Mac和Linux计算机,通常最好的做法是使用它来创建路径paste。
FilePath <- file.path(AVariableWithFullProjectPath,"SomeSubfolder","SomeFileName.txt.gz") Data <- as.matrix(read.table(FilePath, header=FALSE, sep ="\t"))
通常,这对于大多数人来说就足够了。
有时会发生矩阵尺寸过大而导致在读取矩阵时必须考虑内存分配过程的情况,这意味着逐行读取矩阵。
以前面的示例为例,在这种情况下,FilePath包含一个维度文件,89708970其中79%的单元格包含非零值。
system.time(expr=Data<-as.matrix(read.table(file=FilePath,header=FALSE,sep=" ") ))
system.time说花了267秒来读取文件。
user system elapsed 265.563 1.949 267.563
同样,可以逐行读取此文件,
FilePath <- "SomeFile"
connection<- gzfile(FilePath,open="r")
TableList <- list()
Counter <- 1
system.time(expr= while ( length( Vector<-as.matrix(scan(file=connection, sep=" ", nlines=1, quiet=TRUE)) ) > 0 ) {
TableList[[Counter]]<-Vector
Counter<-Counter+1
})
user system elapsed
165.976 0.060 165.941
close(connection)
system.time(expr=(Data <- do.call(rbind,TableList)))
user system elapsed
0.477 0.088 0.565还有futile.matrix一个实现read.matrix方法的包,代码本身将显示与示例1中描述的相同的东西。
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短