[问题] 资料输出 write.csv 速度慢

楼主: f496328mm (为什么会流泪)   2016-11-07 22:00:25
- 问题: 当你想要问问题时,请使用这个类别
[问题类型]:
效能咨询(我想让R 跑更快)
[软件熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
我目前使用write.csv输出data,再利用bigmemory输出des/bin档,
因为资料量有点多,总共超过100G,只能利用这样的方式,降低RAM的使用量
实际上是,有将近50种变量,每个大约2~3GB,
想问问看有没有其他的方法,目前可能会朝购买SSD的方向走
直接买1TB的SSD
PS :
做data mining,不知道重要变量,所以只好生一堆变量出来,
再用一些算法去降维
谢谢
作者: Wush978 (拒看低质媒体)   2016-11-08 02:28:00
binary format, ex: protocol buffer或是saveRDS之类的函数fwrite 那些应该只是csv 的存取快,但是若你的选择不只是csv, 用binary一般来说会快满多的
作者: celestialgod (天)   2016-11-07 23:26:00
https://github.com/Rdatatable/data.table/issues/1664他还有一些问题没修正基本上是1.9.8才会正式RELEASE这个函数我记得没错的话 最后一码是奇数 现在都被称作开发版本,偶数是正是释出版
作者: cywhale (cywhale)   2016-11-07 23:17:00
https://goo.gl/SiQQCf 1.9.8后fwrite会以平行处理输出
作者: celestialgod (天)   2016-11-07 22:28:00
data.table fwritedevtools::install_github("Rdatatable/data.table")还在development阶段你如果要来拿production就建议不要训练资料,自己玩,我觉得还算稳定
作者: Edster (Edster)   2016-11-07 22:06:00
输出成RData吧,容量小很多:save(X, file = "abc.RData")若是要csv, 可考虑readr::write_csv, 但他用;分隔excel打开格式会跑掉.

Links booklink

Contact Us: admin [ a t ] ucptt.com