R Mann-Whitney-U测试输出与SPSS一样

时间:2017-03-26 20:03:00

标签: r spss

我想进行Mann-Whitney-U测试。但R' wilcox.test(x~y, conf.int=TRUE)没有给出 N 平均等级,等级总和,两个因素的Z值等统计数据。我需要R提供与SPSS一样多的信息(see here

我想知道我是否没有选择某些选项,或者我是否有可以安装的好包裹?

谢谢!

1 个答案:

答案 0 :(得分:1)

在R中,您需要分别计算SPSS的各种输出。例如,使用dplyr::summarise

library(dplyr)
mt_filt <- mtcars %>%
  filter(cyl > 4)
mt_filt %>%
  group_by(cyl) %>%
  summarise(n = n(),
            mean_rank_mpg = mean(rank(mpg)),
            sum_rank_mpg = sum(rank(mpg)))
# # A tibble: 2 × 4
#       cyl     n mean_rank_mpg sum_rank_mpg
#     <dbl> <int>         <dbl>        <dbl>
#   1     6     7           4.0           28
#   2     8    14           7.5          105

# Number in first group
n1 <- sum(as.integer(factor(mt_filt$cyl)) == 1)

wilcox.test(mpg ~ cyl, mt_filt) %>%
  with(data_frame(U = statistic, 
            W = statistic + n1 * (n1 + 1) / 2,
            Z = qnorm(p.value / 2),
            p = p.value))
# # A tibble: 1 × 4
#       U     W         Z           p
#   <dbl> <dbl>     <dbl>       <dbl>
# 1  93.5 121.5 -3.286879 0.001013045