【发布时间】:2013-06-06 17:04:32
【问题描述】:
我有一个包含 2 个字符串和 6 个整数列的 1,000,000 行的大型 data.frame。顺序遍历这个 data.frame 需要花费大量时间,即使没有修改它。这是我正在使用的基本循环:
for( i in 1:1000000 ) {
varA = mydf[i, "varA"]
varB = mydf[i, "varB"]
...
}
处理 100 行大约需要 10 秒,我有几个 1M 的数据块要处理。我不需要修改 data.frame,但我确实需要按顺序读取行(这就是为什么我选择运行 for 循环而不是调用 apply)。
在这种情况下,您更愿意使用 data.table 还是 bigmemory 对象?
【问题讨论】:
-
参见stackoverflow.com/questions/16882049/…,但请注意,您实际上不太可能需要这样做,更有可能是某种低效的算法
-
你的意思是我的算法效率低下?顺序处理有什么问题?
-
在 R 中通常有更好的、非顺序的和更快的方法,所以我建议发布您要解决的问题。
-
你真的希望从那个模糊的描述中得到一些神奇的答案吗?
-
严重需要更多信息... 1.5 年后,这个问题既没有被回答也没有被关闭。投票结束。
标签: r dataframe data.table