计算累积标准差

时间:2013-08-13 16:27:22

标签: r

我正在尝试计算时间序列中值的标准差,但我希望每次从初始日期值提前一天逐步增加。我知道有一种方法可以在R(可能使用ddply?)中执行此操作,这不涉及令人讨厌的for循环。谢谢你的帮助!

d<-seq(from=as.Date("2013-01-01"), to=as.Date("2013-02-01"), by="day")
v <-rnorm(32, 10, 5)
test.df<-data.frame(the_date=d, value=v)

这就是我现在正在做的方式。

result <- c()
for(i in 2:nrow(test.df)){ result[i-1] <- sd(test.df[1:i,]$value)}

1 个答案:

答案 0 :(得分:5)

TTR::runSDcumulative=TRUE一起使用。

library(TTR)
x <- xts(test.df[,2],test.df[,1])
runSD(x, n=1, cumulative=TRUE)