我有一个看起来像的数据框
z<-data.frame(a=c(seq(1990,1995,1), 1997,1998,1999,2001,2002,2003), b=seq(90,101,1))
我使用功能
rollapply(b, 3, sd, align='right')
计算标准差。
我想做的是,如果连续年份之间存在差距,函数会中断并重新开始计算标准差。
编辑:
我的示例输出应如下所示:
enter code here a b c
1 1990 90 NA
2 1991 91 NA
3 1992 92 sd(90,91,92)
4 1993 93 sd(93,92,91)
5 1994 94 sd(94,93,92)
6 1995 95 sd(95,94,93)
7 1997 96 NA
8 1998 97 NA
9 1999 98 sd(98,97,96)
10 2001 99 NA
11 2002 100 NA
12 2003 101 sd(101,100,99)