我有一个这样的数据集。
ID Col1 Col2 Col3 Col4 Score
1 1 1 1 1 30.14
2 1 1 1 1 30.26
3 1 1 1 1 30.14
4 1 1 1 1 30.14
5 1 3 3 3 38.78
6 1 3 3 3 38.78
7 1 1 1 2 38.34
8 1 1 1 2 38.34
我喜欢创建这样的数据模式摘要。
Col1 Col2 Col3 Col4 Score
1 1 1 1 30.14, 30.26
1 3 3 3 38.78
1 1 1 2 38.34
我不知道如何生成这样的模式。我尝试了小鼠的md.pattern功能,但它没有给出一个崩溃的分数列。做一个独特的也不会奏效。任何关于如何创建此摘要的建议都是事先准备好的。
library(dplyr)
data.frame(
ID = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L),
Col1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L),
Col2 = c(1L, 1L, 1L, 1L, 3L, 3L, 1L, 1L),
Col3 = c(1L, 1L, 1L, 1L, 3L, 3L, 1L, 1L),
Col4 = c(1L, 1L, 1L, 1L, 3L, 3L, 2L, 2L),
Score = c(30.14, 30.26, 30.14, 30.14, 38.78, 38.78, 38.34, 38.34)
) %>%
distinct(Col1, Col2, Col3, Col4, Score) %>%
group_by(Col1, Col2, Col3, Col4) %>%
summarize(Score = paste(Score, collapse = ", "), .groups = "drop")
结果(按Col值排序,而不是原始出现顺序(
# A tibble: 3 × 5
Col1 Col2 Col3 Col4 Score
<int> <int> <int> <int> <chr>
1 1 1 1 1 30.14, 30.26
2 1 1 1 2 38.34
3 1 3 3 3 38.78