Bonferroni同时置信区间差异的间隔

时间:2018-02-01 22:12:52

标签: r confidence-interval

我试图在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,计算应该如下:

enter image description here

1 个答案:

答案 0 :(得分:5)

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

  1. df$group需要是您的ANOVA工作的分类变量。目前它是数字。
  2. 您想要执行所谓的post-hoc analysis,以更正多组比较的ANOVA p值。
  3. 以下是使用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数字相符。