相关循环保持NA

时间:2014-12-06 01:07:41

标签: r for-loop correlation

尽管使用了两个完整的列,其中每个元素都是数字,并且第2行到第570行没有数字丢失,但我发现当使用循环找到两者之间滚动的24周相关性时,不可能获得除NA之外的结果列。

rolling.correlation <- NULL
temp <- NULL
for(i in 2:547){
   temp <- cor(training.set$return.SPY[i:i+23],training.set$return.TLT[i:i+23])
   rolling.correlation <- c(rolling.correlation, temp)
} #end "for" loop

rolling.correlation

cor()命令适用于[2:25],[i:25]或[2:i],但当我说[i:i + 23]

我希望R计算行2到25,然后是3到26,......,547到570的相关性。结果应该是长度为546的向量,其具有每个相关的数值。相反,我得到了546个NA的向量。我怎样才能解决这个问题?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

看看你做什么时会发生什么

5:5+2
# [1] 7

请注意,:的运算符优先级高于+,这意味着当您真正需要5:5+2时,(5:5)+25:(5+2)相同。使用

i:(i+23)