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

Bonferroni Simultaneous Confidence Intervals of differences in means

我正在尝试在 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,计算结果应为:

似乎有一些 conceptual/coding 错误。

  1. df$group 需要是方差分析才能工作的分类变量。目前是数字。
  2. 您想执行所谓的 post-hoc analysis,以更正多组比较的方差分析 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 数字相匹配。