Re: [討論] for loop與*apply function請益
我不知道你的sapply跟for為什麼會差那麼多
照理來說sapply跟for應該一樣快
我的模擬: (共有20萬列,elapsed是總時間)
group_f2, group_f3分別是for, sapply
group_f1用cut, cbind
group_f4用dplyr, plyr (用兩種不同的input, X_df: data.frame, X_dt: data.table)
# test replications elapsed relative user.self
# 1 group_f1(X_df) 20 0.96 1.000 0.95
# 4 group_f4(X_df) 20 0.98 1.021 0.97
# 5 group_f4(X_dt) 20 1.23 1.281 1.20
# 2 group_f2(X_df) 20 417.14 434.521 411.56
# 3 group_f3(X_df) 20 418.21 435.635 412.50
code link: http://pastebin.com/JArHScjb
凡事還是先考慮vecotrise為主,
處理資料還是推薦用plyr + dplyr來做處理,
依照需求再使用tidyr, reshape2
data.table則不一定,有key的時候會比較快,
其他則跟data.frame差不多
environment: windows 7 64bit, R-3.2.0
machine: i7-3770K@4.4GHz, DDR3-2400 16G ram
※ 引述《locka (locka)》之銘言:
: 各位大大晚安,
: 我有一份總共九個欄位約30萬筆的原始資料,
: 因為想要分成4組畫圖
: 所以第一個想到的事就是新增第十個欄位(稱作group),
: 然後根據某個欄位(假設為第八個欄位好了)的值分組,
: 並填入第十個欄位(group1~group4)
: 很笨的用for loop搭配if else寫,可是速度整個悲劇...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.239.88
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1432270370.A.9D4.html
※ 編輯: celestialgod (36.225.239.88), 05/22/2015 12:59:46
推
05/22 19:30, , 1F
05/22 19:30, 1F
推
05/23 07:54, , 2F
05/23 07:54, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章