*(我之前提过这个问题,但是它已经迁移到stackexchange并被标记为“不清楚”,因此我无法对其进行编辑,因此我将尝试清理问题并使其更加清楚)。
我有以下数据框,需要确定测试组的方法之间是否存在统计学上的显着差异,并针对每个任务组重复此操作。 :
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的平均值是否在统计上彼此不同。然后,我需要为每个任务分组重复此分析。
答案 0 :(得分:4)
以下是使用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$
来获取当前组而不是原始表。在broom and dplyr vignette