R_transforming原始数据到列数据

MaM*_*aMu 0 r transform

我有一个数据帧df

 > df<-data.frame(a=letters[1:5], b=1:5, c=LETTERS[1:5])
 > df
   a  b c
1  a  1 A
2  b  2 B
3  c  3 C
4  d  4 D
5  e  5 E
Run Code Online (Sandbox Code Playgroud)

我想从上面的数据框创建一个新的数据框,只有列应该是这样的

> df1
   a
1  a
2  1
3  A
4  b
5  2
6  B
7  c
8  3
9  C
.....
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容

> df1<-data.frame(c(df[1,],df[2,],df[3,]))
> df1
  a b c a.1 b.1 c.1 a.2 b.2 c.2
1 a 1 A   b   2   B   c   3   C
Run Code Online (Sandbox Code Playgroud)

但结果是行矩阵,实际上我有数百个列和行,应该转换为一列.我该怎么做?

Ric*_*ven 5

> data.frame(a = matrix(apply(df, 1, c), ncol = 1))
##    a
## 1  a
## 2  1
## 3  A
## 4  b
## 5  2
## 6  B
## 7  c
## 8  3
## 9  C
## 10 d
## 11 4
## 12 D
## 13 e
## 14 5
## 15 E
Run Code Online (Sandbox Code Playgroud)

这是另外两种选择,

> data.frame(a = do.call(rbind, as.list(t(df))))
## or
> data.frame(a = c(apply(df, 1, c)))
Run Code Online (Sandbox Code Playgroud)

as.vector并且as.matrix也将c在apply上面的电话中代替.