• R语言
  • 请教 5000列20000行的一个数据集,如何用R高效读取和运算?

如题。用RODBC不能超过255列。用scan和readLines慢的要死。用bigmemory包,可能是用得不熟练,也比较慢。

http://stackoverflow.com/questions/1727772/quickly-reading-very-large-tables-as-dataframes-in-r

其中事先指定 colClasses 对读取速度的提升最明显。

或者像最下方所说,用 sqldf.

后期计算内存不够可以用 ff.

bigmemory不是专门干这个的么,怎么也慢?

回复 第2楼 的 肖楠:谢谢!这个更加有用。我后来用sqldf导入数据,倒是不怎么占内存了,但速度不怎么理想。现在又学习一些了。

回复 第3楼 的 ruikoeln:可能是因为我用的不够熟练吧。之前没用过。也可能是我的数据太大了。后面再摸索摸索

回复 第1楼 的 struggle12:

A. 将5000列分解,分解成为多个小的列集合。

B. 将5000列投射到多个不同的子集上去。

1 个月 后

回复 第6楼 的 lyxmoo:这个做法聪明!对于B,请教如何实现呢?在R中怎么投射?谢谢!