在 R 中针对不同类别运行单向方差分析时遇到问题

问题描述 投票:0回答:1

我有一个数据集,我想使用方差分析测试来了解不同牡蛎处理之间的生长是否存在显着差异。如果我的统计知识生疏并且数据格式不正确,我深表歉意,但我的数据集是长格式,看起来像这样:

Oyster   Treatment   Length.Difference
1        T1          1.32
2        T3          3.45
3        T4          6.12
4        T4          -0.12
5        T2          3.23
6        T1          5.09
7        T3          -0.92
8        T2          2.32
9        T1          0.09
10       T4          5.11

我试图看看 T1 和 T2、T1 和 T3、T2 和 T3 等之间是否存在显着差异。我(不成功)尝试通过以下方式按类别拆分数据:

lapply(split(df1, df1$Treatment), function(i){
  anova(lm(Length.Difference ~ Oyster, data = i))
})

如果有人能解决我的问题,我将不胜感激!非常感谢!

r statistics lapply anova
1个回答
0
投票

我建议使用以下方法来比较不同治疗条件下的长度差异。您可以忽略 tibble / tribble 部分 - 我只是用它们来获取您的数据。要成对比较每种治疗方法,您需要在 ANOVA 模型之后使用事后测试,Tukey 的 HSD 是一个流行的选择。

base::library(package = tibble)

df <- tibble::tribble(
  ~Oyster, ~Treatment, ~Length.Difference,
  1, "T1", 1.32,
  2, "T3", 3.45,
  3, "T4", 6.12,
  4, "T4",  -0.12,
  5, "T2", 3.23,
  6, "T1", 5.09,
  7, "T3", -0.92,
  8, "T2", 2.32,
  9, "T1", 0.09,
  10, "T4", 5.11
)

anova_model <- stats::aov(
  data    = df,
  formula = Length.Difference ~ Treatment
)

stats::TukeyHSD(anova_model)
© www.soinside.com 2019 - 2024. All rights reserved.