我正在尝试计算时间序列中值的标准差,但我希望每次从初始日期值提前一天逐步增加.我知道有一种方法可以在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)
Run Code Online (Sandbox Code Playgroud)
这就是我现在这样做的方式.
result <- c()
for(i in 2:nrow(test.df)){ result[i-1] <- sd(test.df[1:i,]$value)}
Run Code Online (Sandbox Code Playgroud)
使用TTR::runSD带cumulative=TRUE.
library(TTR)
x <- xts(test.df[,2],test.df[,1])
runSD(x, n=1, cumulative=TRUE)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3451 次 |
| 最近记录: |