【问题标题】:Compact letter display from pairwise test成对测试的紧凑型字母显示
【发布时间】:2020-06-09 12:55:09
【问题描述】:

我想根据我在线性混合效应模型 (lmer) 上进行的事后测试创建一个紧凑的字母显示

这是我在进行成对 t.test 时想要的示例

df <- read.table("https://pastebin.com/raw/Dzfh7b2f", header=T,sep="")

library(rcompanion)
library(multcompView)
PT <- pairwise.t.test(df$fit,df$treatment, method=bonferroni)
PT = PT$p.value
PT1 = fullPTable(PT)
multcompLetters(PT1,
                compare="<",
                threshold=0.05,
                Letters=letters,
                reversed = FALSE)

这很有效,因为从 pairwise.t.test 中,很容易简单地提取 p 值,并创建我想要的表。

现在假设我运行一个线性模型,进行成对比较,并且还想创建一个表格,就像我在上面所做的那样,从提取的 pvalue 中为我创建一个紧凑的字母显示



library(multcomp)
mult<- summary(glht(model, linfct = mcp(treatment = "Tukey")), test = adjusted("holm"))
mult

我可以看到 p 值,但在过去的 2-3 个小时里试图弄清楚如何提取这些值(就像我在上面对 pairwise.t.test 所做的那样),然后创建一个紧凑的字母显示表格。

非常感谢任何帮助。万事如意

【问题讨论】:

  • help("cld")
  • 看到help("cld") 如何帮助我提取创建我想要创建的表所需的信息?我觉得每个成对测试都非常具体地提取所需的信息,就像这个线性模型问题一样
  • 你读过吗?你写道你想“随后,创建一个紧凑的字母显示表”。这就是cld 所做的。
  • 你好@Roland:我想我错过了理解你的评论,因为阅读得太快了。我听从了你的建议,让它工作得很好。我很感激你的建议。我从中得到了我一直在寻找的答案。 :)

标签: r pairwise


【解决方案1】:

了解更多详情here

mod <- lm(Sepal.Width ~ Species, data = iris)

mod_means_contr <- emmeans::emmeans(object = mod,
                                    pairwise ~ "Species",
                                    adjust = "tukey")

mod_means <- multcomp::cld(object = mod_means_contr$emmeans,
                           Letters = letters)

### Bonus plot
library(ggplot2)

ggplot(data = mod_means,
       aes(x = Species, y = emmean)) +
  geom_point() +
  geom_errorbar(aes(ymin = lower.CL, 
                    ymax = upper.CL), 
                width = 0.2) +
  geom_text(aes(label = gsub(" ", "", .group)),
            position = position_nudge(x = 0.2)) +
  labs(caption = "Means followed by a common letter are\nnot significantly different according to the Tukey-test")

reprex package (v2.0.0) 于 2021 年 6 月 3 日创建

【讨论】:

    【解决方案2】:

    感谢@roland 的建议,答案很简单:

    mult<- summary(glht(model, linfct = mcp(treatment = "Tukey")), test = adjusted("holm"))
    
    letter_display <- cld(mult)
    
    letter_display
    
    

    【讨论】:

      猜你喜欢
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2021-11-24
      • 1970-01-01
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多