如何解决列的所有因子上的Wilcoxon矩阵
我有一个数据框,其中包含至少五个级别的VMethods列。
我想在VMethod的不同因素之间生成Wilcoxon
和一个Kruskal矩阵。
数据框示例:
structure(list(error = c(3.6306,5.6414,5.2754,4.9065,4.5347,3.4018,6.0769,5.7142,2.7866,4.0094,5.4953,4.7581,5.5684,4.6093,6.7226,4.2352,4.0848,5.4221,6.0046,5.787,6.365,6.2211,4.8324,4.3103,3.8582,5.2018,6.2931,4.1601,5.8596,4.6838,5.0544,5.3488,5.1282,3.9339,4.9805,6.1491,3.6306,3.7066,6.5084,2.7091,5.9322,3.172,2.8639,3.5545,3.0952,3.7825,3.4782,3.3254,2.6315,4.46,4.3852,3.0182,2.2417,2.5538,3.2488,1.6116,2.085,2.9411,1.2135,6.4367,1.8488,2.476,1.9277,2.1634,4.3103),VMethod = structure(c(4L,4L,1L,3L,5L,2L,2L),.Label = c("test_bs","test_by","test_epb","test_ovn","test_ub"),class = "factor")),row.names = 2:501,class = "data.frame")
例如,我可以使用tidyr
得到一个相关矩阵:
levels(test$VMethod)
test <- test %>%
group_by(VMethod) %>%
mutate(grouped_id = row_number())
test <- spread(test,VMethod,error)
# For correlation table
cor(test[,-1],use="pairwise.complete.obs")
输出:
┌──────────┬──────────────┬─────────────┬──────────────┬─────────────┬─────────────┐
│ │ test_bs │ test_by │ test_epb │ test_ovn │ test_ub │
├──────────┼──────────────┼─────────────┼──────────────┼─────────────┼─────────────┤
│ test_bs │ 1.000000000 │ 0.01858443 │ -0.006640928 │ 0.13832687 │ -0.11471342 │
│ test_by │ 0.018584428 │ 1.00000000 │ -0.126182155 │ 0.02388832 │ 0.13476503 │
│ test_epb │ -0.006640928 │ -0.12618215 │ 1.000000000 │ -0.07941926 │ -0.04927660 │
│ test_ovn │ 0.138326870 │ 0.02388832 │ -0.079419261 │ 1.00000000 │ 0.01742074 │
│ test_ub │ -0.114713416 │ 0.13476503 │ -0.049276601 │ 0.01742074 │ 1.00000000 │
└──────────┴──────────────┴─────────────┴──────────────┴─────────────┴─────────────┘
如何生成Wilcoxon和Kruskal矩阵?
解决方法
尽管不是矩阵,但一个dplyr
和purrr
选项可以是:
map_dfr(.x = combn(unique(df$VMethod),2,simplify = FALSE),~ df %>%
filter(VMethod %in% .x) %>%
summarise(pair1 = .x[1],pair2 = .x[2],p_value = wilcox.test(error ~ VMethod)$p.value))
pair1 pair2 p_value
1 test_ovn test_bs 3.529168e-11
2 test_ovn test_epb 4.769740e-07
3 test_ovn test_ub 3.621912e-07
4 test_ovn test_by 1.570687e-08
5 test_bs test_epb 1.037952e-01
6 test_bs test_ub 5.834015e-02
7 test_bs test_by 2.691848e-01
8 test_epb test_ub 8.920884e-01
9 test_epb test_by 5.338900e-01
10 test_ub test_by 4.128583e-01
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。