检验组均值在 R 中是否在统计上有显着差异
Test if group means are statistically significantly different in R
*(我之前问过这个问题,但它被迁移到 stackexchange 并被标记为 'unclear' 并且我无法编辑它,所以我将尝试清理问题并制作它更清晰)。
我有以下数据框,需要确定测试组的均值之间是否存在统计显着差异,并对每个任务分组重复此操作。 :
set.seed(123)
Task_Grouping <- sample(c("A","B","C"),500,replace=TRUE)
Test_Group <- sample(c("Green","Yellow","Orange"),500,replace=TRUE)
TotalTime <- rnorm(500, mean = 3, sd = 3)
mydataframe <- data.frame(Task_Grouping, Test_Group, TotalTime)
例如,对于任务 A,我需要查看测试组(绿色、黄色、橙色)的均值是否存在显着差异。
我尝试了以下代码,但有些地方不对劲,因为 p.value 对于不同任务分组中的每个测试组组合都是相同的(即每个 p 值为 0.6190578):
results <- mydataframe %>%
group_by(Task_Grouping) %>%
do(tidy(pairwise.t.test(mydataframe$TotalTime, mydataframe$Test_Group,
p.adjust.method = "BH")))
我也不是 100% 确定 pairwise.t.test 是否是要使用的正确统计测试。换句话说,我需要查看 Test_Group 均值是否在统计上彼此不同。然后我需要为每个任务分组重复这个分析。
以下是使用 dplyr
、purrr
和 broom
的方法
library(dply)
library(purrr)
library(broom)
mydataframe %>%
nest(data = c(Test_Group, TotalTime)) %>%
mutate(tidy=map(data, ~tidy(pairwise.t.test(.$TotalTime, .$Test_Group,
p.adjust.method = "BH")))) %>%
select(-data) %>%
unnest(tidy)
请注意,由于我们使用的是 map
,因此我们使用 .$
而不是 mydataframe$
来获取当前组而不是原始 table。在 broom and dplyr vignette
查看更多示例
*(我之前问过这个问题,但它被迁移到 stackexchange 并被标记为 'unclear' 并且我无法编辑它,所以我将尝试清理问题并制作它更清晰)。
我有以下数据框,需要确定测试组的均值之间是否存在统计显着差异,并对每个任务分组重复此操作。 :
set.seed(123)
Task_Grouping <- sample(c("A","B","C"),500,replace=TRUE)
Test_Group <- sample(c("Green","Yellow","Orange"),500,replace=TRUE)
TotalTime <- rnorm(500, mean = 3, sd = 3)
mydataframe <- data.frame(Task_Grouping, Test_Group, TotalTime)
例如,对于任务 A,我需要查看测试组(绿色、黄色、橙色)的均值是否存在显着差异。
我尝试了以下代码,但有些地方不对劲,因为 p.value 对于不同任务分组中的每个测试组组合都是相同的(即每个 p 值为 0.6190578):
results <- mydataframe %>%
group_by(Task_Grouping) %>%
do(tidy(pairwise.t.test(mydataframe$TotalTime, mydataframe$Test_Group,
p.adjust.method = "BH")))
我也不是 100% 确定 pairwise.t.test 是否是要使用的正确统计测试。换句话说,我需要查看 Test_Group 均值是否在统计上彼此不同。然后我需要为每个任务分组重复这个分析。
以下是使用 dplyr
、purrr
和 broom
library(dply)
library(purrr)
library(broom)
mydataframe %>%
nest(data = c(Test_Group, TotalTime)) %>%
mutate(tidy=map(data, ~tidy(pairwise.t.test(.$TotalTime, .$Test_Group,
p.adjust.method = "BH")))) %>%
select(-data) %>%
unnest(tidy)
请注意,由于我们使用的是 map
,因此我们使用 .$
而不是 mydataframe$
来获取当前组而不是原始 table。在 broom and dplyr vignette