我正在通過對另一列進行分組來做滾動平均值。這些組是「PlayerName」,滾動平均值是「FDP」。這裏是我正在使用的測試數據:R編程 - 帶分組的滾動平均值
PlayerName <- c("Player1", "Player1", "Player1", "Player1", "Player2", "Player2", "Player2", "Player3", "Player3", "Player3", "Player3", "Player3", "Player3")
Date <- c("2016-11-02", "2016-11-04", "2016-11-07", "2016-11-10", "2016-11-03", "2016-11-04", "2016-11-11", "2016-11-02", "2016-11-04", "2016-11-07", "2016-11-10", "2016-11-13", "2016-11-17")
FDP <- c(13, 12, 8, 20, 10, 11, 12, 35, 46, 24, 33, 40, 40)
DT <- data.table(PlayerName, Date, FDP)
我想添加第4列「RollAvg」,這是3日期滾動平均值。結果看起來是這樣的:
PlayerName Date FDP RollAvg
1: Player1 2016-11-02 13 NA
2: Player1 2016-11-04 12 NA
3: Player1 2016-11-07 8 11
4: Player1 2016-11-10 20 13.3
5: Player2 2016-11-03 10 NA
6: Player2 2016-11-04 11 NA
7: Player2 2016-11-11 12 11
8: Player3 2016-11-02 35 NA
9: Player3 2016-11-04 46 NA
10: Player3 2016-11-07 24 35
11: Player3 2016-11-10 33 34.3
12: Player3 2016-11-13 40 32.3
13: Player3 2016-11-17 40 37.6
如果RollAvg列具有NA或者它們被忽略,對我無關緊要。
我已經嘗試了一堆不同的方法來做到這一點,我不能得到任何工作。我知道還有其他類似的帖子,但我無法得到他們正在做的工作的結構。我覺得用sapply和rollmean有一些簡單的方法來做到這一點,但我無法弄清楚。
感謝您的幫助!
由[這個SO郵政]以前回答(http://stackoverflow.com/questions/33787526/grouped-rolling-average-by-date) – G5W
我試過使用它,我無法得到它的工作。我是一個新手,所以也許它只是在我之外。謝謝您的幫助。 – runnin4tay5000