我在r中构建逻辑回归模型,但是当我使用汇总(模型)检查系数时,输出在我的一个自变量的四列(估计值,标准误差,z值和z)中显示NA。我的其他三个变量工作正常。
我还检查了任何空值,但没有。我使用as.numeric和as.integer在连续和离散值之间进行了更改,但它仍然在输出中显示为NA。变量本身测量献血的总量。
我无法弄明白这一点,这让我很烦。感谢
答案 0 :(得分:1)
这是一个详细说明我上面的评论的例子;我在这里使用了一个简单的线性模型,但同样的原则也适用于逻辑回归模型。
让我们生成一些数据:我们为模型y = x1 + x2 + epsilon
生成数据,其中两个预测变量x1
和x2
是线性相关的:{{1 }}
x2 = 2.5 * x1
我们符合模型。
# Generate sample data
set.seed(2017);
x1 <- seq(1, 100);
x2 <- 2.5 * x1;
y <- x1 + x2 + rnorm(100);
查看参数估算值。
df <- cbind.data.frame(x1 = x1, x2 = x2, y = y);
fit <- lm(y ~ x1 + x2, df);
您可以看到summary(fit);
#
#Call:
#lm(formula = y ~ x1 + x2, data = df)
#
#Residuals:
# Min 1Q Median 3Q Max
#-2.50288 -0.75360 -0.01388 0.67935 3.08515
#
#Coefficients: (1 not defined because of singularities)
# Estimate Std. Error t value Pr(>|t|)
#(Intercept) 0.166567 0.215534 0.773 0.441
#x1 3.496831 0.003705 943.719 <2e-16 ***
#x2 NA NA NA NA
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
#Residual standard error: 1.07 on 98 degrees of freedom
#Multiple R-squared: 0.9999, Adjusted R-squared: 0.9999
#F-statistic: 8.906e+05 on 1 and 98 DF, p-value: < 2.2e-16
的估算值为x2
。这是NA
和x1
线性相关的直接结果。换句话说,x2
是多余的,数据可以用估计的线性模型x2
来描述;这显然与理论系数y = 3.4968 * x1 + epsilon
非常吻合。