GLM预测值

时间:2017-02-10 13:29:08

标签: r

我的fit.full <- glm(y ~ a + b + c + d + e + f, data=df, family=binomial(logit)) 公式:

glm

Estimate Std. Error z value Pr(>|z|) a -0.0443 0.0182 -2.43 0.01530 * b1 -0.3247 0.0898 -3.62 0.00030 *** c2 0.0948 0.0322 2.94 0.00326 ** 输出:

glm

然后我决定将fit.reduced <- glm(y ~ a + b1 + c2, data=df, family=binomial(logit)) 应用于简化模型以进行比较:

fit.reduced <- glm(y ~ a + b + c, data=df, family=binomial(logit))

但是,上面的代码产生了一个错误:

  

eval(expr,envir,enclos)中的错误:object&#39; b1&#39;找不到

我必须写下面的代码:

noexcept

是否有任何解决方案只能输入:a,b1和c2?顺便说一下,b和c变量分别有3和5个值。感谢。

1 个答案:

答案 0 :(得分:0)

第一个模型的输出确实包括&#34; b1&#34;和&#34; c2&#34;作为系数的行标签,但这并不意味着有这些名称的列。这意味着这些变量是具有这些名称的级别的因子。开箱即用&#34;开箱即用&#34; glm生成&#34;处理对比的设置,因此显示非基本因子水平的系数,其变量名称后跟其因子水平。尝试使用这些级别来生成简化模型是没有意义的,因为如果使用基本级别值删除所有案例,则无法比较它们两个。

如果您确实希望运行具有相同列名但但不考虑特定级别的模型,请使用subset支持的glm参数。