2016-09-17 128 views
-2

我想運行下列迴歸,問題變量是EP,是一個虛擬變量,我必須檢查不同情況,z(lenght = 1000)是閾值變量。我想從z變量中創建1000個不同的EP變量並保存係數。我在循環中使用了一個循環,但結果是完全錯誤的。代碼正常運行並且沒有發生錯誤。方括號和括號是我運行的代碼。問題在於延遲時間很長,兩個小時後的結果仍在運行。R中循環的多個迴歸

我減少了99%的樣本,並且我沒有得到結果,代碼沒有問題地運行。

我不想要任何特別的東西,只需要z的每個值運行不同的迴歸並最終存儲估計值。我不明白爲什麼要這麼長時間。任何想法?

for (k in 1:1000){ 
    z<-u[k] 
    for (i in 1:length(dS)){ 
    if (dS[i]>=z) { 
     EP[i]=1 
    } else { 
     EP[i]=0 
    } 

    fitT <- dynlm(dR ~ L(dR,1)+L(EN)+L(EP)+L(ΚΜ,1) 
    prob[[k]] <- summary(fitT)$coefficients[1, 2]  
    } 

回答

2

您不必爲i -loop一個關閉};您也沒有關閉)關於dynlm

注意,你可以真的

EP <- as.integer(dS >= z) 

下一次,問問題的時候更換您的i循環,明確具體。 「我在循環中使用循環但結果完全錯誤」是什麼意思?錯誤信息等?

+2

恕我直言,最後一段屬於評論部分。 – noumenal