如何迭代提取数据集compare_means值并按FEATURE分层计算
实现方案
你需要在compare_means()的group.by参数中同时传入两个分层变量SESSION和FEATURE即可实现需求,代码示例如下:
library(ggpubr) # 直接指定多分组变量 compare_means( RESPONSE ~ TREATMENT, group.by = c("SESSION", "FEATURE"), # 同时传入两个分层字段,会按组合拆分后分别计算组间差异 data = dataset_long, method = "wilcox.test" # 显式指定检验方法,与你示例的Wilcoxon检验匹配 )
如果你的ggpubr版本较低,上述写法输出格式不符合预期,可以改用嵌套分组映射的写法,逻辑更可控:
library(ggpubr) library(dplyr) dataset_long %>% group_by(SESSION, FEATURE) %>% group_modify(~ compare_means(RESPONSE ~ TREATMENT, data = .x)) %>% ungroup()
两种写法最终输出的结果会比你给出的示例多一列FEATURE用于标记对应信号的计算结果,每个SESSION下的每个FEATURE都会独立生成一组TREATMENT的两两比较结果,完全匹配你的分层计算要求。
内容的提问来源于stack exchange,提问作者12666727b9
相关产品推荐
相关产品推荐

