相关疑难解决方法(0)

令人惊讶的是,R的标准偏差很慢

我正在计算扩展窗口上的标准偏差,在每个点我重新计算标准偏差.这似乎是一个相当简单的事情,应该相对较快.但是,它需要比你想象的要长很多(约45秒).我在这里错过了什么吗?在Matlab中,这非常快.

t0 <- proc.time()[[3]]
z <- rep(0, 7000)
x <- rnorm(8000)
for(i in 1000:8000){
##    print(i)
    z[i] <- sd(x[1:i])
}
print(proc.time()[[3]]- t0)
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
2
解决办法
815
查看次数

计算累积标准差

我正在尝试计算时间序列中值的标准差,但我希望每次从初始日期值提前一天逐步增加.我知道有一种方法可以在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)

r

2
推荐指数
1
解决办法
3451
查看次数

标签 统计

r ×2