作者:mobiledu2502909783 | 来源:互联网 | 2023-06-29 14:49
我经常遇到用于R处理的大型矩阵,这些矩阵的第一行有N个列名,而其他所有行都有N + 1个独立的值,第一个是行名。分隔符可以是“,”或“ \ t”。所有值都是除列名和行名外的浮点数。
这些文件可以通过read.table()轻松读取,但是对于4.5K列和220K行的文件则要花费数十分钟。我尝试了“阅读器”程序包,但它不支持行名,并且它抱怨所有行中的列都过多。
在这种情况下,是否有任何可用的优化方法会起作用?是否有自然支持的软件包或具有常见选项的解决方案?
您可以使用fread
中的data.table
。假定第一列包含行名,并为您添加一个名为V1
的提取列。然后,您可以重新排列一下。
library(data.table)
write.table(mtcars,"test.txt")
data <- fread("test.txt",data.table = FALSE)
分配行名并删除列。
rownames(data) <- data[,1]
data <- data[,-1]