作者ppp1987 (ppp)
看板R_Language
標題[問題] 資料整理的問題
時間Mon Dec 5 15:26:03 2016
[問題類型]:
程式諮詢(我想用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