[英]Extract rows from data frame as list of vectors
For example, I have the data 例如,我有数据
a <- c("a", "b", "c")
b <- c("x", "y", "z")
df <- data.frame(a = a, b = b)
I want to do something to df
so my result is 我想对
df
做点什么,所以我的结果是
list(c("a", "x"), c("b", "y"), c("c", "z"))
I want the solution to be vectorized, and I'm having trouble utilizing the right *apply functions... 我希望对解决方案进行矢量化处理,而在使用正确的* apply函数时遇到了问题...
如果要按行拆分data.frame,请尝试
split(df, seq.int(nrow(df)))
Here's another way. 这是另一种方式。
as.data.frame(t(df),stringsAsFactors=FALSE,row.names=NA)
# V1 V2 V3
# 1 a b c
# 2 x y z
This produces a data frame, which is in fact a list of vectors. 这将产生一个数据帧,实际上是一个向量列表。 If you must have a "true" list, you could use this:
如果必须具有“ true”列表,则可以使用此列表:
as.list(as.data.frame(t(df),stringsAsFactors=FALSE,row.names=NA))
# $V1
# [1] "a" "x"
#
# $V2
# [1] "b" "y"
#
# $V3
# [1] "c" "z"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.