我有一个数据帧,看起来是这样的:
example <- data.frame(
PID = c(11191, 11192, 21191, 21193),
NS = c(1,5,9,13),
NR = c(2,6,10,14),
SE = c(3,7,11,15),
GR = c(4,8,12,16)
)
我希望将数据帧转换为宽格式,这样PID
的最后一位数就是分组变量.以下是所需的解决方案:
example_solution <- data.frame(
target = c(1119, 2119),
NS_1 = c(1,9),
NR_1 = c(2,10),
SE_1 = c(3, 11),
GR_1 = c(4,12),
NS_2 = c(5,NA),
NR_2 = c(6, NA),
SE_2 = c(7, NA),
GR_2 = c(8, NA),
NS_3 = c(NA,13),
NR_3 = c(NA, 14),
SE_3 = c(NA, 15),
GR_3 = c(NA, 16)
)
我怎样才能做到这一点呢?谢谢你的帮助!