繁体   English   中英

R使用glm和分类变量复制预测变量

[英]R duplicating predictor variables with glm and categorical variables

我正在使用分类预测变量和二进制响应在R中构建一个模糊的环境。 我的数据是这样的(但更大并且具有多个预测变量):

y <- c(1,1,1,0,0) #response
x <- c(0,0,0,1,2) #predictor

由于此数据是分类数据(但由数字表示),因此我这样做了:

y <- as.factor(y)
x <- as.factor(x)

然后我建立了模型:

g1 <- glm(y~x, family=binomial(link="logit"))

但是该模型的细节如下:

g1
Call:  glm(formula = y ~ x, family = binomial(link = "logit"))
Coefficients:
(Intercept)           x1           x2  
      24.57       -49.13       -49.13  
Degrees of Freedom: 4 Total (i.e. Null);  2 Residual
Null Deviance:      6.73 
Residual Deviance: 2.143e-10    AIC: 6 

总结是:

summary(g1)
Call:
glm(formula = y ~ x, family = binomial(link = "logit"))

Deviance Residuals: 
         1           2           3           4           5  
 6.547e-06   6.547e-06   6.547e-06  -6.547e-06  -6.547e-06  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)
(Intercept)     24.57   75639.11       0        1
x1             -49.13  151278.15       0        1
x2             -49.13  151278.15       0        1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 6.7301e+00  on 4  degrees of freedom
Residual deviance: 2.1434e-10  on 2  degrees of freedom
AIC: 6

Number of Fisher Scoring iterations: 23

我不明白的是为什么R在x1和x2中重复了x预测变量? x1和x2是什么意思?

我还需要显式地写下带有估计值的模型,其形式为:y〜B0 + B1 * x,所以我现在陷入困境,因为x已被分为两部分,并且没有名为x1和x2的初始变量...

谢谢你的帮助!

发生这种情况是因为您已将x设为因子。 此因子具有三个级别(0、1和2)。 将分类变量放在回归模型中时,对其进行编码的一种方法是使用参考类别。 在这种情况下,R选择将0级作为参考类别。 然后,x1和x2的系数分别是0和1之间以及0和2之间的电平差。

这是回归的相当标准,因此您应该不会感到惊讶。 也许您只是对R如何命名系数感到困惑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM