[問題] 資料輸出 write.csv 速度慢

看板R_Language作者 (為什麼會流淚)時間9年前 (2016/11/07 22:00), 9年前編輯推噓3(3017)
留言20則, 4人參與, 最新討論串1/1
- 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 效能諮詢(我想讓R 跑更快) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 我目前使用write.csv輸出data,再利用bigmemory輸出des/bin檔, 因為資料量有點多,總共超過100G,只能利用這樣的方式,降低RAM的使用量 實際上是,有將近50種變數,每個大約2~3GB, 想問問看有沒有其他的方法,目前可能會朝購買SSD的方向走 直接買1TB的SSD PS : 做data mining,不知道重要變數,所以只好生一堆變數出來, 再用一些演算法去降維 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.66.209.212 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1478527228.A.4F9.html

11/07 22:06, , 1F
輸出成RData吧,容量小很多:save(X, file = "abc.RData")
11/07 22:06, 1F

11/07 22:09, , 2F
若是要csv, 可考慮readr::write_csv, 但他用;分隔
11/07 22:09, 2F

11/07 22:09, , 3F
excel打開格式會跑掉.
11/07 22:09, 3F
謝謝 我試試看 ※ 編輯: f496328mm (114.36.53.214), 11/07/2016 22:15:56

11/07 22:28, , 4F
data.table fwrite
11/07 22:28, 4F
library(data.table) ?fwrite 找不到耶?? 上網GOOGLE 好像被拿掉了@@ ※ 編輯: f496328mm (114.36.53.214), 11/07/2016 22:45:55

11/07 23:01, , 5F
devtools::install_github("Rdatatable/data.table"
11/07 23:01, 5F

11/07 23:01, , 6F
)
11/07 23:01, 6F

11/07 23:01, , 7F
還在development階段
11/07 23:01, 7F
那有可能會不穩嗎? ※ 編輯: f496328mm (114.36.53.214), 11/07/2016 23:03:25

11/07 23:08, , 8F
你如果要來拿production就建議不要
11/07 23:08, 8F

11/07 23:09, , 9F
訓練資料,自己玩,我覺得還算穩定
11/07 23:09, 9F
好 謝謝 我網路上看,fwrite之前在data.table裡,不知道為什麼拿掉了,可能是去改進吧 ※ 編輯: f496328mm (42.66.209.212), 11/07/2016 23:14:07

11/07 23:17, , 10F
https://goo.gl/SiQQCf 1.9.8後fwrite會以平行處理輸出
11/07 23:17, 10F
所以要1.9.8以後才會有這個函數嗎? fwrite ※ 編輯: f496328mm (42.66.209.212), 11/07/2016 23:26:03

11/07 23:26, , 12F
1664
11/07 23:26, 12F

11/07 23:26, , 13F
他還有一些問題沒修正
11/07 23:26, 13F

11/07 23:26, , 14F
基本上是1.9.8才會正式RELEASE這個函數
11/07 23:26, 14F

11/07 23:27, , 15F
我記得沒錯的話 最後一碼是奇數 現在都被稱作
11/07 23:27, 15F

11/07 23:27, , 16F
開發版本,偶數是正是釋出版
11/07 23:27, 16F

11/08 02:28, , 17F
binary format, ex: protocol buffer
11/08 02:28, 17F

11/08 02:29, , 18F
或是saveRDS之類的函數
11/08 02:29, 18F

11/08 02:29, , 19F
fwrite 那些應該只是csv 的存取快,但是若你的選擇不只是
11/08 02:29, 19F

11/08 02:29, , 20F
csv, 用binary一般來說會快滿多的
11/08 02:29, 20F
文章代碼(AID): #1O88ZyJv (R_Language)
文章代碼(AID): #1O88ZyJv (R_Language)