【问题标题】:Extracting elements from emmGrid of emmeans R package从emmeans R包的emmGrid中提取元素
【发布时间】:2018-01-26 12:31:39
【问题描述】:

我想知道如何从 emmGridemmeans R 包中提取 emmeanSE 列。 MWE 如下所示。

library(emmeans)
warp.lm <- lm(breaks ~ wool * tension, data = warpbreaks)
Test <- emmeans(warp.lm,  specs = "wool")

Test
wool   emmean       SE df lower.CL upper.CL
 A    31.03704 2.105459 48 26.80373 35.27035
 B    25.25926 2.105459 48 21.02595 29.49257

Results are averaged over the levels of: tension 
Confidence level used: 0.95 

class(Test)
[1] "emmGrid"
attr(,"package")
[1] "emmeans"

【问题讨论】:

  • 嗨 MYaseen208。我们倾向于在这里提出简洁的问题,因此,如果您可以修剪任何非必要的材料,编辑和读者都会对此表示赞赏。你已经在大约 170 个问题中添加了关于你未来欣赏的注释,这不是必需的。假设我们知道您将(高度)感谢您的帮助!谢谢。

标签: r extract emmeans


【解决方案1】:

summary(Test) 给出一个 data.frame 代替。

class(summary(Test))
[1] "summary_emm" "data.frame" 

所以可以这样做:

summary(Test)$emmean
[1] 31.03704 25.25926

summary(Test)$SE
[1] 2.105459 2.105459

要真正获得新的子集 data.frame,您需要显式强制转换为 data.frame 类:

as.data.frame(summary(Test))[c('emmean', 'SE')]
    emmean       SE
1 31.03704 2.105459
2 25.25926 2.105459

【讨论】:

  • 注意 emmeans 1.1 添加了一个as.data.frame 方法。所以as.data.frame(Test) 会完成这项工作。
  • 请注意:对于成对比较,summary(pairs(Test))$p.value 将为您提供 p 值。这在执行大量成对比较时特别有用,因为您可以使用which() 简单地提取低于 0.05(或您最喜欢的任意显着性阈值)的 p 值。
  • 亲爱的 Axeman,为 ping 道歉,你知道为什么在 this question emmeans 没有返回任何输出吗?
  • 如果你添加了一个 cld() 语句并想拉出组来做一个表怎么办?所以不是 Test
猜你喜欢
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 2013-05-29
  • 2014-07-08
  • 1970-01-01
相关资源
最近更新 更多