看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 資料形式 ID Day X 1 1 0.5 1 3 0.1 1 4 0.3 1 7 0.5 1 9 0.5 1 11 0.2 1 14 0.5 2 1 0.1 2 2 0.4 2 5 0.8 2 9 0.7 2 11 0.1 2 13 0.2 現在我的資料每個ID(有100多個ID)每天有一筆觀測值(但不一定每天有) 我現在想要算每個ID當天的前七天有觀測值的平均 例如 (ID=1,Day=9) Xhat=(0.5+0.3+0.1)/3 (ID=2,Day=11) Xhat=(0.7+0.8)/2 現在已經用for迴圈跑出結果(但是很慢 2萬多筆約30分鐘) 想請教各位大大有沒有比較快的方法 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.161.23 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1480922765.A.008.html ※ 編輯: ppp1987 (140.109.161.23), 12/05/2016 15:27:52
DrRd: 七天內嗎?那第9天的是不是要算到第3天啊? 12/05 15:36
celestialgod: 他是算3,5,7 12/05 15:37
celestialgod: 更正3,4,7,沒有9當天 12/05 15:37
celestialgod: 如果天數沒有很多建議用dcast展開,再搭配zoo的roll 12/05 15:41
celestialgod: apply,跟mean with na.rm=TRUE 12/05 15:41
celestialgod: 回到電腦前再示範怎麼做 12/05 15:42
cywhale: ID=2,Day=11 => (0.7+0.8)/2? 12/05 16:17
已更正 ※ 編輯: ppp1987 (140.109.161.23), 12/05/2016 17:18:48 ※ 編輯: ppp1987 (140.109.161.23), 12/05/2016 17:19:35