我正在尝试将lm与r合并。我想我在NA
值方面遇到了问题,但我无法解决。
如果我尝试只使用两个变量进行回归,结果是存在的,但R2非常低(可能太低而不符合正态分布)。
Model_1 <- lm(Participation ~ Economy, data = Country1)
结果是:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.211762 0.008488 24.948 < 2e-16 ***
Economy 0.180346 0.061407 2.937 0.00335 **
Multiple R-squared: 0.00359, Adjusted R-squared: 0.003174
但是,当我尝试拟合许多变量时,我系统地得到了错误Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases
,我也尝试过添加na.action = 'na.exclude'
,但结果没有变化,有什么想法吗?
代码:
Model_2 <- lm(data = Country1, Participation ~ Economy + Male + Young + Low_Income + High_Education + Low_Education + Pol_Interest + Gov_satisf + Trust_Parliament + Redistribution + No_protection + Gov_respons + Ref_all + Ref_none + Voters + Religious + Corr_national + Corr_local + Life_Quality + Internet_user + Employed + Unemployed + Student + Emp_Public, na.action = "na.exclude")
结果是:
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
0 (non-NA) cases
1条答案
按热度按时间cwxwcias1#
错误消息为您提供了明确的问题陈述。
0 (non-NA) cases
当您展开以考虑列出的所有变量时,有0个案例(即0行)是完整的。
没有一行没有至少一个NA。
您应调查您的数据并了解NA的分布。
这会让你在很多方面产生偏差,从认定一个变量完全无用(一整列的NA?),到干脆放弃它(一个极端),再到使用各种形式的缺失值插补来填补漏洞(另一个极端),但这一切都要从调查你的数据开始。