2013-03-12 67 views
0

我有一个很大的数据集,我用它来运行带有一些定性预测变量的线性回归模型。我称之为数据集WN,定性变量为OState和DState(美国各州)。在这里你会看到有WN内OState和DState的62个独特的价值观:现在我正在回归模型距离来预测房价定性预测变量不出现在回归总结输出中R

> unique(WN$OState) 
[1] NY MA PA DE DC VA MD WV NC RI SC NH GA FL AL TN MS ME KY OH IN MI VT IA WI MN SD ND MT CT IL MO KS NE NJ LA AR OK TX CO WY ID UT AZ NM NV CA OR WA 
62 Levels: AA AE AK AL AP AR AS AZ CA CO CT DC DE FL FM GA GU HI IA ID IL IN KS KY LA MA MD ME MH MI MN MO MP MS MT NC ND NE NH NJ NM NV NY OH OK OR PA PR PW RI SC SD TN TX UT VA VI VT WA ... WY 
> unique(WN$DState) 
[1] MA RI NH ME VT CT NY NJ PA DE DC VA MD WV NC SC GA FL AL TN MS KY OH IN MI IA WI MN SD ND MT IL MO KS NE LA AR OK TX CO WY ID UT AZ NM NV CA OR WA 
62 Levels: AA AE AK AL AP AR AS AZ CA CO CT DC DE FL FM GA GU HI IA ID IL IN KS KY LA MA MD ME MH MI MN MO MP MS MT NC ND NE NH NJ NM NV NY OH OK OR PA PR PW RI SC SD TN TX UT VA VI VT WA ... WY 

,OState和DState如下:

> WN.LR = lm(WN$Rate~WN$Distance+WN$OState+WN$DState) 

当我检查回归总结时,我发现只有48个OState和DState预测值被填充,其余14个丢失。摘要输出的一小部分在下面给出。例如,你会看到OStateAL缺少输出:

> summary(WN.LR) 

Call: 
lm(formula = WN$Rate ~ WN$Distance + WN$OState + WN$DState) 

Residuals: 
    Min  1Q Median  3Q  Max 
-2370.3 -218.4 -18.9 170.8 9105.7 

Coefficients: 
       Estimate Std. Error t value Pr(>|t|)  
(Intercept) 1.208e+03 6.632e+00 182.171 < 2e-16 *** 
WN$Distance 1.626e+00 3.111e-03 522.722 < 2e-16 *** 
WN$OStateAR 2.000e+02 7.294e+00 27.419 < 2e-16 *** 
WN$OStateAZ 1.981e+02 8.372e+00 23.667 < 2e-16 *** 
WN$OStateCA 1.056e+02 7.919e+00 13.340 < 2e-16 *** 
WN$OStateCO 1.323e+02 7.332e+00 18.043 < 2e-16 *** 
WN$OStateCT -2.019e+02 1.827e+01 -11.048 < 2e-16 *** 
WN$OStateDC 5.711e+02 2.178e+01 26.223 < 2e-16 *** 

在另一方面,当我检查与OState =“AL”的实体,我看到有超过6000行:

> WNnew<-subset(WN,OState=="AL") 
> nrow(WNnew) 
[1] 6213 

对此有何解释?

回答

2

这可能是因为别名(即您的模型被过度识别)。例如,马萨诸塞州的变量水平为DStateOState,所以我认为它们在两种治疗方法中的效果不能分开。

1

当您的模型构建完成时,您没有阅读警告,即系数列表中的所有NA。当您运行时将会列出别名:

WN.LR # always look at the output of `lm` as well as that of `summary.lm` 

...并且您只是未能读取输出。你可能会考虑在OState中创建一个“相同”级别,其中DState与OState相同,然后允许捕获所有没有区别的状态。