测试组均值在 R 中是不是在统计上显着不同
Posted
技术标签:
【中文标题】测试组均值在 R 中是不是在统计上显着不同【英文标题】:Test if group means are statistically significantly different in R测试组均值在 R 中是否在统计上显着不同 【发布时间】:2020-03-21 04:18:02 【问题描述】:*(我之前问过这个问题,但它已迁移到 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 的平均值是否在统计上彼此不同。然后我需要对每个任务分组重复这个分析。
【问题讨论】:
您的示例无法正常工作,因为该因素至少需要 2 个级别 请尝试阅读此www2.le.ac.uk/departments/health-sciences/research/biostats/…。尝试使用反向 Kaplan Meier 方法。 这似乎仍然是一个统计问题,而不是一个编程问题。似乎您只是在询问哪种统计方法对您的假设是正确的。你需要先知道你想做什么测试,然后才能用任何语言实现。 R 并没有消除您首先为您的数据选择正确的统计方法的需要。关于模型选择的问题属于Cross Validated,而不是 Stack Overflow。 所以我遇到的 dplyr 代码的 pairwise.t.test 部分的一个问题是,我认为该函数正在计算整个数据帧的 t.test,而不是针对每个组。我认为通过调用“mydataframe$TotalTime,mydataframe$Test_Group”,它引用了完整的数据框。我需要它来计算每个组的 t 检验,而不是整个数据集。 【参考方案1】:以下是使用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查看更多示例
【讨论】:
以上是关于测试组均值在 R 中是不是在统计上显着不同的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中,如何计算两个数据数组之间的相关性和统计显着性?