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