[英]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.