在 R 中对不同类别运行单因素方差分析时遇到问题 [已关闭]

Having trouble running one-way ANOVAs in R on different categories [closed]

提问人:Rachel Davitt 提问时间:10/16/2023 更新时间:10/16/2023 访问量:47

问:


这个问题是由一个错别字或一个无法再重现的问题引起的。虽然类似的问题可能在这里成为主题,但这个问题的解决方式不太可能帮助未来的读者。

上个月关闭。

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

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 统计 lapply 方差分析

评论

3赞 Allan Cameron 10/16/2023
如果每个牡蛎在数据框中仅出现一次,则不能在分析中使用牡蛎编号作为变量。如果您只想查看不同 T1、T2、T3、T4 之间的均值差异,则无需拆分数据。只是.如果每只牡蛎出现不止一次,并且您正在查看重复的测量,那么您可能需要混合模型方法,但这更像是一个统计问题而不是编程问题,最好在 CrossValidate 上询问。anova(lm(Length.Difference ~ Treatment, data = df1))
0赞 Rachel Davitt 10/17/2023
这很完美,非常感谢你的帮助!

答:

2赞 Quinton.Quagliano 10/16/2023 #1

我建议采用以下方法来比较不同治疗条件下的长度差异。您可以忽略 tibble / tribble 部分 - 我只是使用它们来获取您的数据。要成对比较每种治疗,您需要在方差分析模型之后使用事后测试,Tukey 的 HSD 是一个受欢迎的选择。这可能是在方差分析背景下了解有关事后测试的更多信息的良好起点。

# Example data
df <- read.table(text="
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
", header=TRUE)

    
# This is the important part
anova_model <- stats::aov(
  data    = df,
  formula = Length.Difference ~ Treatment
)
    
post_hoc_test <- stats::TukeyHSD(anova_model)

print(anova_model)

print(post_hoc_test)

评论

0赞 Quinton.Quagliano 10/16/2023
@AkselA,感谢您的智能编辑
0赞 Rachel Davitt 10/17/2023
非常感谢,我真的很感激!
0赞 Quinton.Quagliano 10/17/2023
@RachelDavitt 没问题!如果此答案适合您,请确保将其标记为已接受,以便其他用户了解未来。