假設(shè)我有一個(gè)數(shù)據(jù)框,其中每行代表不同的一天。我有一個(gè)包含日期的列,以及一個(gè)每天感興趣的值的列。例如,我可能會(huì)創(chuàng)建一個(gè)這樣的數(shù)據(jù)幀:
DF <-data.frame(日期= C( “9/1”, “9/2”, “9/3”, “9/4”, “9/5”, “9/6”),值= C(2,3,5,8,11,12))
我想創(chuàng)建一個(gè)額外的列(為方便起見,名為“avg”),它平均過去3天的值,包括那天。換句話說,我希望上面創(chuàng)建的數(shù)據(jù)框添加一個(gè)看起來大致如下的附加列:
平均
NA
NA
3.33
5.33
8
10.33
我怎么能在R中這樣做?如果可能的話,我也希望在7天之前完成此操作,但我認(rèn)為該代碼與此問題的代碼非常相似。
解決辦法:> library(zoo)
> DF$avg <- c(NA, NA, rollmean(DF$value, 3))
> DF
date value avg
1 9/1 2 NA
2 9/2 3 NA
3 9/3 5 3.333333
4 9/4 8 5.333333
5 9/5 11 8.000000
6 9/6 12 10.333333
你也可以使用fill和align參數(shù)
rollmean(DF$value, 3, fill = NA, align = "right")
也可使用 rollmeanr(df$value, 3, fill = NA)








暫無數(shù)據(jù)