如何在 R 中每 x 列堆叠列

Use*_*r23 1 stack r dataframe

我希望将 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)

谢谢

the*_*ail 6

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)

  • @KNN - 答案解决了这个具体问题。这就是重点。我不能指望知道三年后有人可能会问什么其他变化。 (2认同)