如何使用同一函数提取glm与glmerMod对象的模型调用(call)?
解决方案
直接使用R基础stats包自带的getCall()泛型函数即可,该函数对S3类的glm对象和S4类的glmerMod对象都做了适配,可直接批量调用:
# 批量提取所有模型的call calls <- lapply(models, getCall)
效果验证
分别对两类模型单独调用也能正常返回结果:
# 提取glm的call getCall(gm1) # 提取glmerMod的call getCall(gm2)
原报错原因说明
glm属于S3类对象,属性可以通过$运算符直接访问glmer返回的glmerMod属于S4类对象,S4类的存储槽不支持$运算符,需用@运算符访问,但不推荐直接操作内部槽,使用官方提供的泛型提取函数稳定性更强,不会随包内部结构迭代失效
内容的提问来源于stack exchange,提问作者canderson156
相关产品推荐
相关产品推荐

