1
我相信移动平均中有更优雅的编码方式,但我处于学习模式。想象一下SPX的每月收盘价格。我使用for循环创建了一个移动平均值,填充空向量。有用。这是代码。移动平均填充空数据。框架
moving_average_new <- c()
for(i in 1:(length(spx_Close)-10)) {
moving_average_new[i] <- sum(spx_Close[i:(i+(10-1))])/10
}
我希望能够做同样的事情,但这次我想用一个调用for循环和一个空data.frame填充功能。我一直在疯狂尝试,但我无法弄清楚。这是我所在的地方。
y<- as.data.frame(spx_Close)
ma_new <- data.frame()
ma_func1 <- function() {
for (i in 1:(nrow(y) - 10)) {
ma_new[i] <- sum(y[(i:(i+10-1)),1])/10
}
}
我不知道我是否正确初始化data.frame,或者如果我的函数没有意义。运行该函数后,我的变量ma_new有0个观察值。我希望能够仅使用R核心编程语言来做到这一点,而不是一个包。
对不起。在此之前我应该注意到,我正在尝试使用核心R编程语言来执行此操作,而不是使用任何软件包。这是一个学习练习 - 试图在data.frames和函数中做我能够做的循环和向量。 – huesecon