【发布时间】:2021-11-27 02:24:45
【问题描述】:
我有这种简化的数据情况:
df <- data.frame(Year = 1:3,
A.x = 4:6,
A.y = 7:9,
A.z = 10:12,
B.x = 4:6,
B.y = 7:9,
B.z = 10:12,
C.x = 4:6,
C.y = 7:9,
C.z = 10:12)
我的目标是这样的:
df_goal <- data.frame(Year = rep(1:3, each = 3),
x = rep(4:6, each = 3),
y = rep(7:9, each = 3),
z = rep(10:12, each = 3))
请注意,这些值是任意的,只有列名、模式和目标年份的顺序很重要。
我尝试“手动”创建目标数据框,例如:列 i 包含从原始数据位置 x 到 z 的值放。但它看起来真的很笨拙,因为我正在处理的数据非常庞大。有没有更好的方法更系统地重塑数据?
非常感谢!
【问题讨论】:
标签: r merge reshape melt data-transform