我的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个值。感谢。
答案 0 :(得分:0)
第一个模型的输出确实包括&#34; b1&#34;和&#34; c2&#34;作为系数的行标签,但这并不意味着有这些名称的列。这意味着这些变量是具有这些名称的级别的因子。开箱即用&#34;开箱即用&#34; glm
生成&#34;处理对比的设置,因此显示非基本因子水平的系数,其变量名称后跟其因子水平。尝试使用这些级别来生成简化模型是没有意义的,因为如果使用基本级别值删除所有案例,则无法比较它们两个。
如果您确实希望运行具有相同列名但但不考虑特定级别的模型,请使用subset
支持的glm
参数。