使用jtools包的plot_coefs时,omit.coefs为何无法移除因子变量?
问题原因
plot_coefs()的omit.coefs参数默认是精确匹配系数名称。但因子变量在回归模型里会被拆成多个哑变量,比如Maritalstatus作为因子时,模型实际生成的系数名是类似MaritalstatusDivorced、MaritalstatusMarried这类带具体水平后缀的名称,你输入的"Maritalstatus"是原变量名,和实际系数名不匹配,自然没法移除这些因子的哑变量系数。
解决方法
- 先查准系数名:运行
names(coef(mod1)),输出的就是模型里所有系数的准确名称,把这些因子哑变量的具体名称加到omit.coefs列表里就行。 - 用正则批量匹配:开启
regex=TRUE参数,用正则表达式匹配所有以目标因子变量名开头的系数,示例代码:
这里plot_coefs(mod1, omit.coefs = c("(Intercept)", "^Maritalstatus", "numberofkids", "age2", "^education"), regex = TRUE)^Maritalstatus表示匹配所有以Maritalstatus开头的系数,能一次性覆盖该因子的所有哑变量;^education同理。
内容的提问来源于stack exchange,提问作者Charlotte
相关产品推荐
相关产品推荐

