0

我有一个数据框说'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)

我该怎么做呢?

4

3 回答 3

5

采取t也将其转换为 a 的 ranspose ,matrix然后转换为vector

as.vector(t(a))
 [1]  1  2  3  4  2 44 66 77  9  0  0  4
于 2013-07-17T07:19:48.517 回答
2

使用詹姆斯的答案。

这是另一种选择: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 

这样您就可以保留名称中的信息,这可能很有用。如果您不想要名称,请使用unlistwith use.names=FALSE

于 2013-07-17T07:39:46.627 回答
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)
于 2013-07-17T07:30:50.623 回答