在R:
的nlme包中的lme()函数的标准示例中fm2 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1)
summary(fm2)
出现了相关表:
Correlation:
(Intr) age
age -0.813
SexFemale -0.372 0.000
如果涉及许多因子组合,这可能是巨大的。
有没有办法在摘要命令中抑制输出?我知道我可以使用
print(fm2, cor=F)
但这并没有显示通常输出的其余部分,例如没有p值计算。
答案 0 :(得分:3)
查看nlme:::print.summary.lme
我没有看到抑制关联矩阵打印的方法(尽管您可以创建该函数的黑客版本,删除if
从if (nrow(x$tTable)>1)
开始的子句。 。)
或许能够打印只是固定效果参数的摘要会对您有用吗?
printCoefmat(summary(fm2)$tTable)
答案 1 :(得分:2)
或者,更简洁,summary(fm2)$tTable
答案 2 :(得分:2)
我最近在安装具有大量固定效果的模型时遇到了同样的问题,并且相关表非常庞大且输出真的很混乱。查看print.summary.lme()
(未导出,因此您必须使用nlme:::print.summary.lme
)显示该部分来自以下行:
if (nrow(x$tTable) > 1) {
corr <- x$corFixed
class(corr) <- "correlation"
print(corr, title = " Correlation:", ...)
}
正如本已经指出的那样。我们也可以使用一个简单的技巧,用我们自己的nlme:::print.correlation
方法取代print
(这实际上是打印相关矩阵)而不是重写/替换整个函数。 correlation
。这可以通过以下方式完成:
assignInNamespace("print.correlation", function(x, title) return(), ns="nlme")
现在省略相关矩阵,但是你得到剩余的输出。