【问题标题】:printCoefmat() function turns back an errorprintCoefmat() 函数返回错误
【发布时间】:2021-12-13 01:54:25
【问题描述】:

我已经建立了 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

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

【问题讨论】:

  • 如果我运行summary(model2)$tTable,我会得到NULL。也许你的意思是summary(model2)$coefficients
  • 精确!!这就是我正在寻找的输出。我查阅过的资料报告说,平板电脑并没有更新。

标签: r lme4 model-fitting


【解决方案1】:

稍微跟进和澄清@aosmith的cmets。

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

对于来自nlme 包的对象(即lme),汇总表存储为summary(model)$tTable(这很不幸,但nlme 比R 本身更老...

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

【讨论】:

  • 感谢您发布的完整答案。实际上,在我查阅过的材料中,模型的语法是由 nlme::lme4() 函数制定的。这就是该示例中报告 tTable 的原因。如果您认为它对其他用户有用,我邀请您投票赞成这个问题,如果您同意的话。谢谢:)
猜你喜欢
  • 2014-07-24
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
相关资源
最近更新 更多