堆叠数据框的多个列以生成单个列

时间:2018-02-23 08:01:46

标签: r data-cleaning

我有一个数据框

id dep    e1  e2  e3  
 1  x     a   b   c
 2  y     d   e   f
 3  z     g   h   i

现在我想创建一个列(不在同一个表中),它只包含这样的数据

edu

a
b
c
d
e
f
g
h
i

请帮助我如何做到R?

2 个答案:

答案 0 :(得分:1)

use CDR_MDS;
alter user [0x01050000000000051500000085E77E2F11C35F7307E53B2B531D0200] with name = NAME=[GROUP\gg ORG RAACO MS BI Team];

如果你想要的是data.frame:

c(t(dat[3:5]))
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i"

答案 1 :(得分:0)

您可以使用data.table

library(data.table)

data.frame强制转换为data.table

setDT(df)

将其从宽到长融合,按value和该列的子集排序:

melt(df, id.vars= c("id", "dep"))[order(value), ][, .(value)]

结果是data.table,其中包含1列和9个观察值:

   value
1:     a
2:     b
3:     c
4:     d
5:     e
6:     f
7:     g
8:     h
9:     i

如果您需要data.frame,请使用setDF