TukeyHSD returns R 中的值太多

TukeyHSD returns too many values in R

我对 R(和统计)还很陌生,我搜索了很多可能的解决方案,但找不到。

我有一个包含大约 18000 个条目的数据集,其中包含两列:“租金”和“季节”。我想使用单向方差分析来分析不同季节的租金平均值之间是否存在差异。

我的数据是这样的:

rentals season
23 1
12 1
17 2
16 2
44 3
22 3
2 4
14 4

首先我计算组(季节)的 SD 和 MEAN:

anova %>%
    group_by(season) %>%
    summarise(
        count_season = n(),
        mean_rentals = mean(rentals, na.rm = TRUE),
        sd_rentals = sd(rentals, na.rm = TRUE))

这是结果:

然后我执行单向方差分析:

anova_one_way <- aov(season~as.factor(rentals), data = anova)
summary(anova_one_way)
<!-- I use "as.factor" on rentals, because otherwise I'm getting an error with TukeyHSD -->

结果:

棘手的部分来了。我执行 TukeyHSD 测试:

TukeyHSD(anova_one_way) 

结果非常令人失望。 TukeyHSD returns 376896 行,而我希望它 return 只是少数,比较季节。看起来每个“租金”行都作为一个组处理。这似乎是非常错误的,但我找不到原因。考虑到大数据集,这是一种常见的 TukeyHSD 行为,还是我的代码或逻辑中存在错误,导致这个巨大的无法读取的值列表 return?

这里有一个关于它的外观的小见解(一直持续到 376896)。

您的 aov() 调用中的条款有误。租金是结果(因)变量,季节是预测(自)变量。

所以你想要:

anova_one_way <- aov(rentals ~ factor(season), data = anova)