我有一个数据框说'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)
我该怎么做?
答案 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
这样您就可以在名称中保留信息,这可能很有用。如果您不想要这些名称,请将unlist
与use.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)