2

我想估计一个多级有序逻辑模型,然后访问模型矩阵。从以下位置运行简化示例时?clmm

library("ordinal")
mod1 <- clmm(SURENESS ~ PROD + (1|RESP), data = soup)
model.matrix(mod1)

我收到错误消息Error in eval(predvars, data, env) : object 'SURENESS' not found。从其他包中,我希望像model = TRUE输入的数据这样的设置参数也会导出到估计的模型中,但这里所有相关参数似乎都是默认设置的。我是否错过了一些参数或元素mod1(我通过attributes(mod1)但没有找到模型矩阵。

奇怪的是,如果我设置一个随机 data.frame,它可以工作:

set.seed(123)
df <- data.frame(y = factor(sample(c("A", "B", "C"), size = 1000, replace = TRUE), ordered = TRUE), 
             x = rnorm(1000), 
             id = factor(rep(1:10, each = 100)))

mod2 <- clmm(y ~ 1 + x + (1|id), data = df)
model.matrix(mod2)

那么 和 之间有什么区别mod1以及mod2如何从中获取 model.matrix mod1

4

1 回答 1

0

我不认为 model.matrix(mod2) 适用于 clmm 对象。但是,您可以尝试使用“polr”等函数为固定效果部分构建并行模型,并将 model.matrix() 应用于输出对象。可以使用 clmm 输出单独修复随机效果部分。

于 2022-03-01T16:39:11.277 回答