我有一个这样的数据框:
COL1 COL2 COL3
a h
b f
c g
d j
我想要以下输出:
COL
a
b
c
d
f
g
h
j
如何做到这一点?提前致谢!
如果您data.frame
的名字是dat
,请尝试:
unlist(dat, use.names=FALSE)
您可能还想尝试以下方法:
as.character(unlist(dat, use.names=FALSE))
c(na.omit(as.character(unlist(dat, use.names=FALSE))))
如果您的数据作为因子输入,这可能会很有用。
另外,在您的问题中,您看起来实际上并没有基本的“向量”,而是 one-column data.frame
。因此,类似的东西dat2 <- data.frame(COL = c(na.omit(as.character(unlist(dat, use.names=FALSE)))))
可能就是您正在寻找的东西。
do.call(c, your_data_frame)
一个例子:
> dat <- data.frame(a = 1:3, b = 2:4)
> do.call(c, dat)
a1 a2 a3 b1 b2 b3
1 2 3 2 3 4
这需要 data.frame 的每一列并将其视为 c 的单独输入,因此您只需将所有内容连接到一个向量中。
你可以使用unlist
:
dat <- data.frame(A1 = letters[1:3],
A2 = letters[2:4],
A3 = c("f", "a", "b"), stringsAsFactors = FALSE)
unlist(dat)
# A11 A12 A13 A21 A22 A23 A31 A32 A33
# "a" "b" "c" "b" "c" "d" "f" "a" "b"