【发布时间】:2021-04-23 16:51:53
【问题描述】:
假设我有一个包含 3 个 ID 列和一个感兴趣的列的数据框。每行代表一个观察结果。一些 ID 有多个观察值,即多行。
df <- data.frame(id1 = c( 1, 2, 3, 4, 4),
id2 = c( 11, 12, 13, 14, 14),
id3 = c(111, 112, 113, 114, 114),
variable_of_interest = c(13, 24, 35, 31, 12))
id1 id2 id3 variable_of_interest
1 1 11 111 13
2 2 12 112 24
3 3 13 113 35
4 4 14 114 31
5 4 14 114 12
我的目标是将其重组为每个 ID 一行,保留 3 个 ID 并将新列命名为“variable_of_interest1”、“variable_of_interest2”:
id1 id2 id3 variable_of_interest1 variable_of_interest1
1 1 11 111 13 NA
2 2 12 112 24 NA
3 3 13 113 35 NA
4 4 14 114 31 12
解决方案可能需要reshape2 和dcast 函数,但直到现在,我都无法解决这个问题。
【问题讨论】: