【发布时间】:2021-02-20 15:19:13
【问题描述】:
我有一个包含 VMethods 列的数据框,至少有 5 个级别。
我想在 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.4953,
5.2754, 5.2754, 5.5684, 6.0769, 4.6093, 6.7226, 4.5347, 4.2352,
4.0848, 5.4221, 4.6093, 6.0046, 5.4953, 5.787, 6.365, 5.4221,
4.0848, 5.4221, 5.5684, 6.2211, 4.8324, 4.3103, 6.2211, 3.8582,
6.0769, 5.2018, 6.2931, 6.0769, 5.7142, 5.6414, 4.1601, 5.2754,
5.7142, 5.2018, 3.8582, 4.0848, 4.9065, 3.4018, 5.8596, 4.6838,
5.6414, 4.0848, 6.2211, 5.6414, 5.0544, 3.8582, 5.8596, 5.3488,
5.1282, 3.9339, 4.0848, 4.5347, 5.5684, 3.9339, 4.9805, 4.0848,
3.8582, 5.5684, 5.787, 6.1491, 3.6306, 5.787, 5.2018, 6.0046,
3.7066, 5.787, 5.6414, 6.5084, 5.4953, 5.2754, 5.787, 5.7142,
5.1282, 6.5084, 3.9339, 6.2211, 2.7091, 4.9805, 4.0094, 5.5684,
5.2754, 5.9322, 5.3488, 4.2352, 4.1601, 5.8596, 3.172, 5.7142,
4.2352, 4.9805, 2.8639, 5.5684, 3.5545, 3.0952, 5.4953, 3.7825,
5.0544, 4.9805, 3.6306, 3.7825, 4.8324, 3.8582, 5.2754, 4.0094,
3.4782, 2.7091, 4.3103, 4.1601, 4.6838, 3.172, 3.4782, 4.6093,
2.8639, 3.3254, 3.0952, 2.6315, 5.1282, 5.6414, 4.46, 4.6838,
3.4782, 4.3852, 4.9065, 4.1601, 3.6306, 3.6306, 3.172, 5.5684,
5.787, 4.46, 4.3852, 5.4221, 4.3852, 3.3254, 4.1601, 5.0544,
3.0182, 4.6838, 3.9339, 4.9065, 3.6306, 3.4782, 5.1282, 5.4221,
3.0952, 3.3254, 4.6838, 3.6306, 4.3852, 3.7066, 2.7866, 2.2417,
4.0848, 2.5538, 2.8639, 4.1601, 2.2417, 3.0952, 3.2488, 3.7825,
3.4782, 4.2352, 5.4953, 5.1282, 3.172, 3.172, 3.4018, 3.6306,
4.46, 5.2754, 1.6116, 6.0769, 4.6838, 4.6838, 3.9339, 5.2018,
2.2417, 6.1491, 3.0952, 4.6838, 5.2754, 3.5545, 4.46, 4.6838,
4.2352, 2.7866, 3.0952, 5.2754, 5.4221, 5.787, 2.085, 5.1282,
3.4782, 4.1601, 3.0182, 6.2931, 5.7142, 3.4782, 5.5684, 5.3488,
3.0182, 4.0094, 5.7142, 3.8582, 4.0094, 3.6306, 6.0769, 4.1601,
3.4018, 4.2352, 2.9411, 3.0182, 4.1601, 3.172, 4.9805, 2.7091,
3.3254, 3.8582, 3.7066, 4.0848, 3.9339, 2.7091, 3.3254, 5.787,
4.8324, 4.8324, 5.9322, 3.3254, 3.7066, 2.6315, 4.9805, 5.4221,
4.9805, 4.1601, 4.5347, 4.9805, 4.6093, 4.0094, 3.7066, 5.2018,
4.7581, 4.6093, 3.7825, 4.9805, 5.7142, 4.5347, 3.0952, 4.1601,
4.8324, 5.4221, 4.0094, 4.2352, 5.5684, 2.7866, 5.1282, 2.7091,
5.8596, 5.787, 5.1282, 3.172, 3.6306, 5.2018, 2.7091, 5.1282,
2.5538, 4.1601, 3.7066, 4.2352, 4.5347, 3.4018, 4.3103, 4.9065,
3.2488, 4.8324, 6.2931, 5.7142, 4.9065, 4.9805, 5.2754, 4.0094,
5.0544, 2.7091, 3.6306, 3.3254, 2.2417, 5.7142, 4.3852, 5.8596,
5.787, 4.8324, 3.6306, 3.7066, 5.0544, 3.172, 4.0094, 5.4953,
5.4221, 2.7866, 5.4953, 3.0952, 4.6093, 5.6414, 3.7066, 5.6414,
4.9065, 5.2754, 5.3488, 3.6306, 4.1601, 4.9065, 4.9805, 5.7142,
3.7825, 5.6414, 4.6093, 4.3852, 3.172, 4.5347, 4.0094, 5.9322,
4.9805, 4.5347, 4.2352, 2.5538, 4.3103, 5.1282, 3.172, 4.0848,
1.2135, 6.4367, 4.7581, 2.7866, 3.172, 4.46, 4.3852, 4.3103,
3.3254, 3.4018, 3.9339, 5.2754, 5.7142, 4.7581, 5.6414, 2.7866,
4.8324, 4.0848, 4.3852, 2.5538, 2.7866, 2.6315, 4.0848, 4.8324,
5.3488, 4.0094, 5.2018, 5.2018, 3.4018, 4.5347, 5.6414, 1.8488,
3.8582, 3.7066, 3.4782, 4.6838, 4.9805, 3.7825, 4.0094, 5.1282,
4.9805, 5.0544, 4.5347, 2.7866, 3.0952, 3.172, 3.4782, 4.2352,
2.6315, 4.8324, 4.6093, 4.3852, 3.7825, 5.1282, 3.3254, 4.6093,
5.787, 5.4953, 4.7581, 4.7581, 4.9065, 2.476, 2.8639, 4.9065,
4.9065, 3.9339, 4.3103, 2.9411, 5.9322, 4.6838, 4.8324, 2.7866,
4.1601, 4.3103, 2.9411, 5.787, 3.4782, 4.9805, 3.4782, 5.3488,
4.0848, 5.787, 2.7866, 4.3103, 2.9411, 4.8324, 4.0848, 4.0848,
3.5545, 4.9805, 3.8582, 4.9065, 3.9339, 4.0848, 3.172, 3.172,
3.4782, 3.9339, 5.6414, 4.3103, 5.6414, 5.7142, 4.7581, 2.085,
4.6093, 4.1601, 4.5347, 5.8596, 4.1601, 4.3103, 4.6838, 3.6306,
4.6838, 5.9322, 4.6838, 5.3488, 4.3852, 3.0952, 3.7825, 4.46,
4.0094, 2.8639, 4.7581, 3.8582, 2.7866, 1.9277, 4.5347, 5.7142,
5.3488, 4.3852, 4.0094, 5.1282, 4.3103, 3.0182, 2.8639, 4.6093,
5.4953, 3.6306, 5.2018, 2.6315, 6.2211, 5.0544, 5.0544, 4.7581,
4.9065, 2.7091, 3.9339, 4.3103, 4.8324, 2.7866, 2.1634, 4.1601,
3.9339, 4.8324, 3.7825, 3.4782, 4.6838, 3.7825, 4.3103), VMethod = structure(c(4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 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 矩阵?
【问题讨论】:
标签: r matrix statistics