[問題] 資料處理速率緩慢

作者: tan800630 (天ㄦ)   2017-04-28 14:47:58
[問題類型]:
效能諮詢(我想讓R 跑更快)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
各位版上的前輩好,最近自己在玩臉書粉絲專頁的資料,目前想要統計
某段時間的Po文中總共有哪些人按讚,每人的按讚次數,以及Po文時間,
目前已經先將粉絲專頁(柯文哲 哈)某一段時間的po文都抓下來並存成RData檔案,
#直接抓getPost()的資料存進去
目前希望將檔案整理成 "ID","最早按讚文章日期","最後按讚文章日期","總共按讚次數"
的格式,目前使用的方式仍然是用迴圈逐次讀取每一個檔案並且記錄按讚者的
相關內容(我知道迴圈效率很低O_Q 自己嘗試使用apply系列但失敗)
然而由於按讚者眾多,目前照著我預設的方式會跑非常久,因此想請教各位有沒有
甚麼建議可以讓整個程式的處理效率更快速
再麻煩各位前輩指教~~~~~
[程式範例]:
程式碼
https://pastebin.com/e9WY2AjD
範例檔案下載處(放了三篇文章的檔案,請參考)
http://doora.qiniudn.com/lH2Z7.rar
[環境敘述]:
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8.1 x64 (build 9600)
locale:
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
[2] LC_CTYPE=Chinese (Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Traditional)_Taiwan.950
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Rfacebook_0.6.12 httpuv_1.3.3 rjson_0.2.15 httr_1.2.1
loaded via a namespace (and not attached):
[1] R6_2.2.0 tools_3.3.2 Rcpp_0.12.9
[關鍵字]:
迴圈
作者: f496328mm (為什麼會流淚)   2017-04-28 15:09:00
避免用for,用apply家族我當初剛學就是這樣被告知的QQ
作者: clansoda (小笨)   2017-04-28 19:05:00
不彷試試C大在上面介紹的foreach與iterators兩個library
作者: obarisk (OSWALT)   2017-04-28 19:51:00
理論上jit的for和apply應該差不多
作者: tan800630 (天ㄦ)   2017-04-29 14:27:00
感謝樓上幾位大大給予方向:)
作者: bcs (= ="frailty..gggg XD)   2017-05-03 13:49:00
用data.table會更快吧...

Links booklink

Contact Us: admin [ a t ] ucptt.com