如何将多行组合并转换为一列?

时间:2017-06-08 08:37:22

标签: r vectorization

如何将多行合并并转换为一列? 我一直在寻找,但无法找到适合我的问题的解决方案。 例如:请参阅Example df,如何将每行转换为列并将它们组合成一列,因此新df应该有25行,每列1列。就像Expected Outcome一样 谢谢。

示例df

   Size   H-Size L-Size A-Size S-Size
1: 1.1111 1.1111 1.1111 1.1111 11465
2: 2.2222 2.2222 2.2222 2.2222 11419 
3: 3.3333 3.3333 3.3333 3.3333 11534
4: 4.4444 4.4444 4.4444 4.4444 11154
5: 5.5555 5.5555 5.5555 5.5555 11640

预期结果

   V1
1: 1.1111 
2: 1.1111 
3: 1.1111 
4: 1.1111 
5: 11465
6: 2.2222 
7: 2.2222 
8: 2.2222 
9: 2.2222 
10: 11419 
11: 3.3333 
12: 3.3333 
13: 3.3333 
14: 3.3333 
15: 11534
16: 4.4444 
17: 4.4444 
18: 4.4444 
19: 4.4444 
20: 11154
21: 5.5555 
22: 5.5555 
23: 5.5555 
24: 5.5555 
25: 11640

1 个答案:

答案 0 :(得分:3)

输入数据集似乎是data.table。我们转置(t)数据集,将其转换为vector并创建新的data.table

library(data.table)
d1 <- data.table(v1 = c(t(df)))
head(d1, 4)
#       v1
#1: 1.1111
#2: 1.1111
#3: 1.1111
#4: 1.1111

或者也可以通过

完成
df[, .(v1 = t(.SD))]