Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从数据帧中提取行作为向量列表_R - Fatal编程技术网

R 从数据帧中提取行作为向量列表

R 从数据帧中提取行作为向量列表,r,R,例如,我有数据 a <- c("a", "b", "c") b <- c("x", "y", "z") df <- data.frame(a = a, b = b) 我希望将解决方案矢量化,但我在使用正确的*apply函数时遇到问题…如果要按行拆分data.frame,请尝试 split(df, seq.int(nrow(df))) 如果要按行拆分data.frame,请尝试 split(df, seq.int(nrow(df))) 还有一种方法 as.data.fr

例如,我有数据

a <- c("a", "b", "c")
b <- c("x", "y", "z")
df <- data.frame(a = a, b = b)

我希望将解决方案矢量化,但我在使用正确的*apply函数时遇到问题…

如果要按行拆分data.frame,请尝试

 split(df, seq.int(nrow(df)))

如果要按行拆分data.frame,请尝试

 split(df, seq.int(nrow(df)))
还有一种方法

as.data.frame(t(df),stringsAsFactors=FALSE,row.names=NA)
#   V1 V2 V3
# 1  a  b  c
# 2  x  y  z
这将生成一个数据帧,它实际上是一个向量列表。如果您必须有一个“真实”列表,您可以使用:

as.list(as.data.frame(t(df),stringsAsFactors=FALSE,row.names=NA))
# $V1
# [1] "a" "x"
#
# $V2
# [1] "b" "y"
#
# $V3
# [1] "c" "z"
还有一种方法

as.data.frame(t(df),stringsAsFactors=FALSE,row.names=NA)
#   V1 V2 V3
# 1  a  b  c
# 2  x  y  z
这将生成一个数据帧,它实际上是一个向量列表。如果您必须有一个“真实”列表,您可以使用:

as.list(as.data.frame(t(df),stringsAsFactors=FALSE,row.names=NA))
# $V1
# [1] "a" "x"
#
# $V2
# [1] "b" "y"
#
# $V3
# [1] "c" "z"

对于OP来说,这显然是可以的,但严格来说,这并不能给出问题所要求的结果。@thelatemail,这是一个用
as.matrix
轻松解决的问题,不是吗<代码>拆分(如.matrix(df),seq.int(nrow(df))@AnandaMahto-就是这样,是的。另外,
split(as.matrix(df),rownames(df))
对于OP来说显然是可以的,但严格来说,这并不能给出问题所要求的结果。@thelatemail,使用
as.matrix
很容易修复,不是吗<代码>拆分(如.matrix(df),seq.int(nrow(df))@AnandaMahto-就是这样,是的。另外
split(如.matrix(df)、rownames(df))