将data.frame的所有列减少为一个长向量

时间:2013-08-15 15:36:52

标签: r vector dataframe

可能是一个非常基本的问题,但似乎无法自己解决这个问题。

我有一个像这样的data.frame:

 df <- data.frame(X1=1:4,X2=5:8,X3=9:12)

我想从所有列创建一个长向量,例如,看起来如下:

 [1]  1  2  3  4  5  6  7  8  9 10 11 12

我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:4)

data.frame是一种特殊类型的list,所以为了得到你想要的东西,你可以使用:

unlist(df, use.names = FALSE)
# [1]  1  2  3  4  5  6  7  8  9 10 11 12

答案 1 :(得分:2)

另一种选择:

> stack(df)[,1]
 [1]  1  2  3  4  5  6  7  8  9 10 11 12