2017-08-29 56 views
-1

我創建了這種有8個變量的數據庫,我有400行這樣的。我的因變量是20個地區所有運費的總和。 w_o,v_ou_d是該地區的人口,gdp和公里的公路。如何使用相同編號的變量進行迴歸?

fulldata = cbind(matrix(a,400,1),orig, dest, matrix(distanz,400,1)) 
    fulldata 
       dep u_o  v_o w_o u_d  v_d w_d distanz 
    [1,] 46101718 27253 4392526 821 27253 4392526 821  89 
    [2,] 204380 32141 126883 114 27253 4392526 821  113 
    [3,] 5789359 28238 1565307 375 27253 4392526 821  170 
    [4,] 11449059 33745 10019166 679 27253 4392526 821  138 
    [5,] 389580 35525 1062860 212 27253 4392526 821  289 
    [6,] 2642751 29003 4907529 576 27253 4392526 821  405 
    [7,] 231159 27532 1217872 210 27253 4392526 821  541 
    [8,] 2844613 31539 4448841 568 27253 4392526 821  327 
    [9,] 1481309 27821 3742437 448 27253 4392526 821  400 
    [10,] 399624 22396 888908 59 27253 4392526 821  551 
    [11,] 262570 24726 1538055 168 27253 4392526 821  544 
    [12,] 499115 29624 5898124 485 27253 4392526 821  669 
    [13,] 249596 22945 1322247 352 27253 4392526 821  720 
    [14,]  42501 18447 310449 36 27253 4392526 821  857 
    [15,] 273450 16219 5839084 442 27253 4392526 821  869 
    [16,] 306917 16512 4063888 313 27253 4392526 821  998 
    [17,] 167326 19663 570365 29 27253 4392526 821  995 
    [18,]  26384 15514 1965128 295 27253 4392526 821 1275 
    [19,]  20189 16289 5056641 662 27253 4392526 821 1584 
    [20,]   0 18539 1653135 23 27253 4392526 821  933 

現在我必須對這20行進行迴歸,其中我的y應該是「dep」列。我試着用這個代碼:

lm <- lm(fulldata[1:19]~fulldata[1:19,2]+fulldata[1:19,3]+fulldata[1:19,4]+fulldata[1:19,5]+fulldata[1:19,6]+fulldata[1:19,7]+fulldata[1:19,8]) 

,結果是:

summary(lm) 
    Call: 
    lm(formula = fulldata[1:19] ~ fulldata[1:19, 2] + fulldata[1:19, 
    3] + fulldata[1:19, 4] + fulldata[1:19, 5] + fulldata[1:19, 
    6] + fulldata[1:19, 7] + fulldata[1:19, 8]) 

    Residuals: 
    Min  1Q Median  3Q  Max 
    -7970288 -6278944 31922 3227442 15159011 

    Coefficients: (3 not defined because of singularities) 
         Estimate Std. Error t value Pr(>|t|) 
    (Intercept)  3.805e+07 1.668e+07 2.282 0.03866 * 
    fulldata[1:19, 2] -1.185e+03 5.006e+02 -2.368 0.03283 * 
    fulldata[1:19, 3] -1.727e+00 1.076e+00 -1.605 0.13089 
    fulldata[1:19, 4] 4.252e+04 1.195e+04 3.558 0.00315 ** 
    fulldata[1:19, 5]   NA   NA  NA  NA 
    fulldata[1:19, 6]   NA   NA  NA  NA 
    fulldata[1:19, 7]   NA   NA  NA  NA 
    fulldata[1:19, 8] -2.390e+04 7.779e+03 -3.072 0.00828 ** 
    --- 
    Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

    Residual standard error: 6894000 on 14 degrees of freedom 
    Multiple R-squared: 0.6714, Adjusted R-squared: 0.5775 
    F-statistic: 7.151 on 4 and 14 DF, p-value: 0.002359 

這是正確的迴歸代碼?有3列與相同的數字係數的結果是NA,我不知道如何避免它。 我希望我很清楚 感謝所有

+0

這看起來很好。你在第5-7列中沒有變化,所以參數沒有定義 - (否則它們可以取任何值) - 問題是什麼? – C8H10N4O2

+0

我將添加到@ Hack-R的所有內容是,您的前進行動是將其從迴歸中移除。 – Zach

+0

@Zach完成,謝謝 –

回答

4

您有NA在這些列中,因爲它們是常量。你已經有了一個常數,以你的迴歸模型的截距形式出現,因此這些信息欄不起作用。他們不會改變,所以他們無法解釋因變量的變化。他們沒有提供信息。

你應該從迴歸方程中刪除它們。