У меня есть набор данных из ~ 100 наблюдений 38 демографических c переменных, а также баллов до и после теста в шести областях (var1: var6). Я установил линейную модель, используя lm (), такую, что test.lm <- lm(var1_post ~ var1_pre + dem1 + dem2 + ... + dem38, data=test.df)
. Фрейм данных test.df является подмножеством большего фрейма данных fulldata.df. В fulldata.df у меня есть 17 наблюдений, в которых нет полных данных для var3_post и var4_post. Однако test.df не включает эти столбцы. Это просто var1_pre, все демографические переменные c и var1_post. В test.df вообще отсутствуют пропущенные значения.
Когда я запускаю summary(test.lm)
, он говорит мне, что 17 пропущенных наблюдений были удалены. Предположительно, 17 из полных данных?
Coefficients: (11 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
intercept -2.36E+01 9.84E+00 -2.403 0.02076 *
var1_pre 7.96E+00 1.48E+00 5.368 3.20E-06 ***
dem1 1.90E+00 1.16E+00 1.631 0.11037
dem2 1.43E-04 1.02E-01 0.001 0.99889
dem3 -7.52E-01 1.14E+00 -0.66 0.51277
dem4 7.65E-02 1.65E-01 0.463 0.6459
...
dem38 -2.50E+00 2.89E+00 -0.866 0.39135
Residual standard error: 3.93 on 42 degrees of freedom
(17 observations deleted due to missingness)
Multiple R-squared: 0.6452, Adjusted R-squared: 0.4003
F-statistic: 2.634 on 29 and 42 DF, p-value: 0.002075
Мне вообще не имеет смысла, что lm () распознает отсутствие в большом кадре данных, но я не могу понять, где еще «отсутствующие» 17 наблюдения будут исходить из. Даже при запуске which(!complete.cases(test.df))
он возвращает integer(0)
.
У кого-нибудь есть мысли о том, где могут быть эти 17 наблюдений или как я мог бы go идентифицировать их?