printCoefmat() 函数返回一个错误

printCoefmat() function turns back an error

我已经建立了 followinf 模型

model2 <- lmerTest::lmer(LPP2POz ~ 1 + COND + (1|ID), data = dataLPP2POz)

如果我尝试 运行 以下函数,它会返回此错误:

printCoefmat(summary(model2)$tTable, 
             has.Pvalue = T, P.values = T)

这是我正在处理的数据集中的一个简短数据框

dput(head(dataLPP2POz))
structure(list(ID = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("01", 
"04", "06", "07", "08", "09", "10", "11", "12", "13", "15", "16", 
"17", "18", "19", "21", "22", "23", "25", "27", "28", "30", "44", 
"46", "49"), class = "factor"), GR = c("RP", "RP", "RP", "RP", 
"RP", "RP"), SES = c("V", "V", "V", "V", "V", "V"), COND = structure(c(1L, 
2L, 3L, 1L, 2L, 3L), .Label = c("NEG-CTR", "NEG-NOC", "NEU-NOC"
), class = "factor"), LPP2POz = c(7.91468942320841, 9.94838815736199, 
10.2186482048953, 1.07455889922813, 1.65917850515029, 3.22422743232682
)), row.names = c(NA, 6L), class = "data.frame")

Error in printCoefmat(summary(model2)$tTable, has.Pvalue = T, P.values = T) : 
  'x' must be coefficient matrix/data frame

任何人都能够理解错误是什么?

跟进并澄清@aosmith 的评论。

提取系数 table 对不同的混合模型包有不同的作用。较新的默认值(适用于 lme4lmerTestglmmTMB)是系数 table 可以提取为 summary(model)$coefficients(在幕后,这意味着summary() 方法 returns 一个列表,其系数 table 存储为 $coefficients) 元素。对于这些包,coef(summary(model)) 是更好的做法。

对于 nlme 包中的对象(即 lme),摘要 table 存储为 summary(model)$tTable(这很不幸,但是 nlme比 R 本身更老 ...

它不会给出与 printCoefmat 完全相同的结果,但您也可以查看一些用于漂亮打印 broom.mixed::tidy() 输出的选项,旨在建立兼容性层,这样你就不必记住所有这些东西了......