r - wilcox_test 为 MWU 返回错误的 U 值
问题描述
当我使用 wilcox.test 运行 Mann Whitney U 非参数测试时,返回的 W 值是两个 U 值中较大的一个。这对我来说似乎很奇怪,因为 MWU 测试使用两个 U 值中较小的一个作为测试统计量,所以我希望看到该值来报告数据。下面是一个例子。如果我在 R 中运行代码,W 值列在 214。
wilcox.test(disp ~ am, data = mtcars)
但是如果我使用另一个程序或网站计算这个(我喜欢这个计算器:https ://www.socscistatistics.com/tests/mannwhitney/ ),我得到两个 U 值是 33 和 214。然后我们使用 33 来检查对临界值,并会报告该值。
是否有任何软件包以更用户友好的方式计算 MWU,它显示正确/较小的 U 值作为测试统计?我尝试了 rstatix 的版本,它做同样的事情。另外,有谁知道为什么这将是默认行为?这似乎违反直觉。
解决方案
如果您的数据是宽格式的,请使用wilcox.test
它的两个参数格式,而不是它的公式格式。切换参数将提供两个U
值。
转向mtcars
宽:
library(dplyr)
library(magrittr)
mtcars_wide<- mtcars %>%
pivot_wider(names_from = "am", values_from = "disp", names_prefix = "am_")
使用两个参数格式wilcox.test
获取每个U
:
mtcars_wide %$% wilcox.test(am_0, am_1, data = .)$statistic # 214
mtcars_wide %$% wilcox.test(am_1, am_0, data = .)$statistic # 33
注意:如何将数据移动到宽格式并不重要——我使用 tidyverse 包,但它们不是必需的。关键是您可以U
通过在运行测试时交换列名来获得每个。
推荐阅读
- opengl - glMultiDrawElementsIndirect 自定义 drawID,每个 DrawElementsIndirectCommand 有多个实例
- c++ - 使用 FFmpeg 库处理 GIF - 在 av_parser_init 中找不到解析器
- swift - 快速创建动态添加按钮
- r - R 中的 Maxent 错误:偏置网格不能与 SWD 格式背景一起使用
- python - 如何使用 discord.py 审查坏词
- qt - QT3D Multiview - 小部件中的单一视图
- c++ - 不同公式的不同回报但相同的值
- python - 使用自定义 pdf 求解具有随机变量的 ODE
- javascript - 带有鼠标和自定义右键的选择器
- python - 2 人骰子游戏,其中偶数总得分和奇数总失分 NEA 任务计算机科学