6

我有以下 data.frame x

a d g
b e h
c f i

注意:以字母为例。实际的 data.frame 有数字代替字母(真实数据不是升序,如本例所示)

我想通过将 2 到 4 列放在第一个列下,将它转换为一个独特的列。预期结果如下

a
b
c
d
e
f
g
h
i

我尝试了以下代码

matrix(t(x), ncol=1, nrow=ncol(x)*nrow(x), byrow=F)

但它(显然)给出了以下

a
d 
g
b
e
h
c
f
i
4

2 回答 2

6

像这样的东西?

X <- matrix(letters[1:9], ncol=3)
matrix(X, ncol=1)

R 矩阵按列主要顺序排列,因此您可以使用该函数轻松地将它们连接成单个列向量matrix

于 2013-09-18T13:40:26.593 回答
3

stack也觉得很有用

X <- data.frame(matrix(letters[1:9], ncol=3),stringsAsFactors=FALSE)
stack(X)[,"values",drop=FALSE]
于 2013-09-18T14:02:33.307 回答