如何在我的汇总/系数表R中修复缺失的输出(NA)

时间:2018-04-01 12:33:55

标签: r regression logistic-regression

我在r中构建逻辑回归模型,但是当我使用汇总(模型)检查系数时,输出在我的一个自变量的四列(估计值,标准误差,z值和z)中显示NA。我的其他三个变量工作正常。

我还检查了任何空值,但没有。我使用as.numeric和as.integer在连续和离散值之间进行了更改,但它仍然在输出中显示为NA。变量本身测量献血的总量。

我无法弄明白这一点,这让我很烦。感谢

1 个答案:

答案 0 :(得分:1)

这是一个详细说明我上面的评论的例子;我在这里使用了一个简单的线性模型,但同样的原则也适用于逻辑回归模型。

  1. 让我们生成一些数据:我们为模型y = x1 + x2 + epsilon生成数据,其中两个预测变量x1x2是线性相关的:{{1 }}

    x2 = 2.5 * x1
  2. 我们符合模型。

    # Generate sample data
    set.seed(2017);
    x1 <- seq(1, 100);
    x2 <- 2.5 * x1;
    y <- x1 + x2 + rnorm(100);
    
  3. 查看参数估算值。

    df <- cbind.data.frame(x1 = x1, x2 = x2, y = y);
    fit <- lm(y ~ x1 + x2, df);
    
  4. 您可以看到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。这是NAx1线性相关的直接结果。换句话说,x2是多余的,数据可以用估计的线性模型x2来描述;这显然与理论系数y = 3.4968 * x1 + epsilon非常吻合。