如何通过在R中组合数据帧的行来创建向量?

时间:2013-07-17 07:09:57

标签: r vector dataframe

我有一个数据框说'a'

qq  ee  rr  tt
1    2   3   4
2    44  66  77
9    0   0   4

我想创建一个像:

这样的矢量
vec <- c(1,2,3,4,2,44,66,77,9,0,0,4)

我该怎么做?

3 个答案:

答案 0 :(得分:3)

获取t ranspose并将其转换为matrix,然后转换为vector

as.vector(t(a))
 [1]  1  2  3  4  2 44 66 77  9  0  0  4

答案 1 :(得分:2)

使用James的回答。

这是另一种选择:unlist并排序。

unlist(a)[order(rep(seq_len(nrow(a)),ncol(a)))]
#qq1 ee1 rr1 tt1 qq2 ee2 rr2 tt2 qq3 ee3 rr3 tt3 
#  1   2   3   4   2  44  66  77   9   0   0   4 

这样您就可以在名称中保留信息,这可能很有用。如果您不想要这些名称,请将unlistuse.names=FALSE一起使用。

答案 2 :(得分:0)

为了好玩,这是另一种选择:

> scan(textConnection(do.call(paste, a)))
Read 12 items
 [1]  1  2  3  4  2 44 66 77  9  0  0  4

“a”在哪里:

a <- read.table(textConnection("qq  ee  rr  tt
 1    2   3   4
 2    44  66  77
 9    0   0   4"), header=T)