我希望将 660 列的数据框转换为 3 列,只需将它们每 3 列相互堆叠即可,而无需手动重新排列(因为我有 660 列)。
在每 2 列只有 4 列的小规模示例中,我想从
A B C D
1 4 7 10
2 5 8 11
3 6 9 12
Run Code Online (Sandbox Code Playgroud)
到
A B
1 4
2 5
3 6
7 10
8 11
9 12
Run Code Online (Sandbox Code Playgroud)
谢谢
reshape救援:
reshape(df, direction="long", varying=split(names(df), rep(seq_len(ncol(df)/2), 2)))
# time A B id
#1.1 1 1 4 1
#2.1 1 2 5 2
#3.1 1 3 6 3
#1.2 2 7 10 1
#2.2 2 8 11 2
#3.2 2 9 12 3
Run Code Online (Sandbox Code Playgroud)