【发布时间】:2014-08-16 23:41:04
【问题描述】:
我想将 .csv 文件中的第一列视为 行名 序列。通常我会这样做:
read.csv("example_file.csv", row.names=1)
但我想使用data.table R 包中的fread() 函数来执行此操作,因为它运行得非常快。
【问题讨论】:
-
不要在 data.table 中使用行名。只需将它们作为一列。
-
如果您想在
fread之后转换为data.frame,只需使用data.frame(fread("example_file.csv"), row.names=1)。但我建议改用data.table。 -
但是我剩下的列是数字的,我想对它们应用一些函数。我希望这些只是行名,并打算使用 data.table 而不是 data.frame 这就是问题所在
-
@MattDowle 我认为这里有一些有效性,如果有人想将结果对象用作矩阵,而不是 data.frame/data.table。我正在处理一些我想应用矩阵数学的数据,并且更愿意使用 fread 来提高速度。目前我正在使用
data.matrix(read.csv("myfile.csv", row.names = 1))。 -
@dayne
bigmemory::read.big.matrix是否比read.csv快并且足够快?如果没有,请在 github 跟踪器上提交功能请求 - 谢谢。
标签: r data.table