You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言分组执行wilcoxon-rank-sum-test出现p值全部相同问题排查

错误原因

你的代码核心问题出在map的匿名函数参数调用逻辑:拆分出每个Soll对应的分组子集后,你没有将子集传入wilcox.test函数,反而每次都指定data = BF_all_soll调用全量数据集做检验,因此所有分组返回的都是全量数据的检验结果,p值自然完全相同。

修正代码
library(tidyverse)
library(broom)

BF_all_soll %>% 
  split(.$Soll) %>%
  # .x指代split得到的每个Soll分组子集
  map(~ wilcox.test(Feuchte ~ Transtyp, data = .x)) %>%
  # 加.id参数直接将分组的Soll值作为列保留,输出结果可直接匹配对应分组
  map_dfr(tidy, .id = "Soll") -> bla

补充说明

你提供的示例数据中,每个Soll分组下两个Transtyp水平各只有1个观测值,运行上述代码会弹出无法计算精确p值的警告,这是示例数据样本量过小导致的,你的真实数据只要每组样本量充足就不会出现该问题。


内容的提问来源于stack exchange,提问作者Effigy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:27:02