2014-01-15 155 views
-2

我之前的問題沒有得到論壇的好評,所以我發佈了這段更新的代碼。我試圖在一些數據上運行這個for循環,用表達式(z-x)/ x填充向量的每個元素,但循環不停止運行。我無法弄清楚爲什麼。REVISED(R中的for循環)

for (i in 1:length(corr_data$close)) { 
    x <- corr_data$close[i]; z <- corr_data$open[i+1] 
    v <- corr_data$company[i]; w <- corr_data$company[i+1] 
    x <- as.numeric(x) 
    z <- as.numeric(z) 
    overnight_ret <- rep(NA,length(corr_data$close)) 
    if (identical(v, w)){ 
    overnight_ret[i] <- ((z - x)/x) 
    } else { 
    overnight_ret <- "Null" 
    } 
} 
+2

如果這只是您的其他問題的修訂,那麼請編輯舊問題而不是創建新問題。否則,它可能會被重複關閉。 – Nabla

+4

我強烈建議刪除此問題並編輯您的原始問題。如果你認爲你原來的問題收到的不好,你會非常失望的是人們對你重新發布現有問題的反應。另外,這不是一個論壇。 :) – joran

+0

可能重複的[如何在R中循環](http://stackoverflow.com/questions/21143419/how-to-for-loop-in-r) – joran

回答

0

我想通了。我決定在R中使用循環不是一個好主意,所以我只是抵消了向量。

open <- c(corr_data$open, 0) 
close <- c(corr_data$close, 0) 
openprice <- c(0, corr_data$open) 
closeprice <- c(0, corr_data$close) 

overnight_ret = (open - closeprice)/closeprice