Re: [討論] for loop與*apply function請益

看板R_Language作者 (攸藍)時間9年前 (2015/05/22 12:52), 9年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/4 (看更多)
我不知道你的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
for沒寫好可以用cmpfun救一下
05/23 07:54, 2F
文章代碼(AID): #1LNhOYdK (R_Language)
文章代碼(AID): #1LNhOYdK (R_Language)