【发布时间】:2020-06-10 19:58:37
【问题描述】:
我正在尝试将宽数据重塑为长格式,我将多列数据放入两列,包括所有可能的组合。
宽数据示例:
> dfWide <- data.frame("id" = 1:5, "code1" = c("a","b", "c", "d", "a"), "code2" = c("b","c", NA, "c", "b"), "code3" = c("c", NA, NA,"b", NA), "code4" = c(NA, NA, NA, "a", NA))
> dfWide
id code1 code2 code3 code4
1 1 a b c <NA>
2 2 b c <NA> <NA>
3 3 c <NA> <NA> <NA>
4 4 d c b a
5 5 a b <NA> <NA>
下面是所需的长格式。我不担心顺序(即,如果我将“a”与“b”组合,我不需要“b”与“a”。)
> dfLong <- data.frame("id" = c(1, 1, 1, 2, 3, 4, 4, 4, 4, 4, 4, 5), "one" = c("a", "a", "b", "b", "c", "d", "d", "d", "c", "c", "b", "a"), "two" = c("b", "c", "c", "c", NA, "c", "b", "a", "b", "a", "a", "b"))
> dfLong
id one two
1 1 a b
2 1 a c
3 1 b c
4 2 b c
5 3 c <NA>
6 4 d c
7 4 d b
8 4 d a
9 4 c b
10 4 c a
11 4 b a
12 5 a b
【问题讨论】: