list - 如果未为此 S4 类定义 $ 运算符,如何从 glmerMod 对象中提取模型组件

标签 list function glm lme4

我想提取模型列表的模型调用。该列表包括 glm 和 glmm。

这似乎适用于 glm 对象,但不适用于 glmerMod 对象

gm1 <- glm(cbind(incidence, size - incidence) ~ period,
             data = cbpp, family = binomial)

gm1$call
>glm(formula = cbind(incidence, size - incidence) ~ period, family = binomial, 
    data = cbpp)

gm2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
             data = cbpp, family = binomial)

gm2$call
>Error in gm2$call : $ operator not defined for this S4 class

当我单击 rstudio 环境 Pane 中的 glmerMod 对象时,我可以看到该对象确实具有与其关联的调用值。

有没有办法可以使用相同的函数从两种类型的模型中提取此信息?这将是我的偏好,因为我希望将其设置为 lapply 函数以应用于模型列表。

models <- list(gm1, gm2)

calls <- lapply(models, function(x) x$call)

最佳答案

你根本不需要summary()

getCall(lmm)getCall(lm) 都可以工作。 (如果您深入研究这一点,您会发现 getCall 的默认方法只是 getElement(., "call")getElement 是一个实用函数,用于查找列表元素 ($...) 或 S4 槽 (@...) 形式的元素.)

关于list - 如果未为此 S4 类定义 $ 运算符,如何从 glmerMod 对象中提取模型组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69714753/

相关文章:

python - 如何比较 Python 的两个列表列表并通过列表中的单个元素删除重复项

python - 在 python 中读取列表

javascript - Knockout JS 在加载时调用函数

r - R中的惩罚 Gamma 回归

r - glm eval 中的错误(family$initialize): y values must be 0 <= y <= 1 BUT values ARE 0 and 1

python - 有序集 Python 2.7

rapply 到 R 中数据框的嵌套列表

c++ - 如何避免从文件中读取错误的 '\n'?

javascript - React子组件props : _this2. props.delete它不是一个函数

python - Gamma 回归仅截距