R中mblogit模型调用ranef函数报错,求功能类似的替代函数
提取mclogit包mblogit模型的随机效应(替代lme4::ranef的方法)
lme4的ranef()函数仅支持自身包生成的模型对象,mclogit的mblogit模型类(mmblogit/mblogit)没有对应的适配方法,所以会触发报错。你可以通过以下两种方式获取随机效应:
1. 直接提取随机效应估计值
mblogit拟合完成的模型对象中,random.effects元素直接存储了随机效应结果。由于是多分类模型,每个非参考响应类别会对应一组随机效应:
# 提取随机效应 modelo_multinomial0$random.effects
2. 查看分组的完整系数(固定+随机效应)
使用coef()函数可以得到每个分组(示例中是province)的固定效应与随机效应的组合系数,效果类似lme4中coef(ranef(model)):
# 查看各分组的组合系数 coef(modelo_multinomial0)
示例整理输出(可选)
如果需要更规整的表格格式,可以用tidyverse工具处理:
library(tidyverse) # 将随机效应转为数据框 random_effect_df <- modelo_multinomial0$random.effects %>% enframe(name = "response_category", value = "province_effects") %>% unnest(province_effects) %>% rename(province = name, random_effect = value) print(random_effect_df)
内容的提问来源于stack exchange,提问作者slow_learner
相关产品推荐
相关产品推荐

