我正在尝试获取R中的Bonferroni同时置信区间。我为练习准备了以下数据集:

df2 <- read.table(textConnection(
  'group value
  1 25
  2 36
  3 42
  4 50
  1 27
  2 35
  3 49
  4 57
  1 22
  2 37
  3 45
  4 51'), header = TRUE)

我努力了
aov(formula = value ~ group, data = df2)

但是,这不会同时输出置信区间。使用SAS,计算结果应为:

r - 均值差异的Bonferroni同时置信区间-LMLPHP

最佳答案

似乎存在一些概念/编码错误。

  • df$group必须是ANOVA才能起作用的类别变量。目前,它是数字。
  • 您想执行post-hoc analysis来更正用于多个组比较的ANOVA p值。

  • 这是一个基于R包DescTools的示例,基于您提供的示例数据:
    # Step 1: Make sure that group is a factor
    df2$group <- as.factor(df2$group);
    
    # Step 2: Perform ANOVA
    res <- aov(formula = value ~ group, data = df2)
    
    # Step 3: Perform post-hoc analysis
    require(DescTools);
    PostHocTest(res, method = "bonferroni");
    #
    #  Posthoc multiple comparisons of means : Bonferroni
    #    95% family-wise confidence level
    #
    #$group
    #         diff     lwr.ci   upr.ci    pval
    #2-1 11.333333  3.0519444 19.61472 0.00855 **
    #3-1 20.666667 12.3852778 28.94806 0.00014 ***
    #4-1 28.000000 19.7186111 36.28139 1.5e-05 ***
    #3-2  9.333333  1.0519444 17.61472 0.02648 *
    #4-2 16.666667  8.3852778 24.94806 0.00067 ***
    #4-3  7.333333 -0.9480556 15.61472 0.09062 .
    #
    #---
    #Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    

    报告的组均值和置信区间之间的差异与您提供的SAS编号匹配。

    关于r - 均值差异的Bonferroni同时置信区间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48572619/

    10-12 17:35