R语言 按行连接向量元素,将向量行转换为字符串

laik7k3q  于 9个月前  发布在  其他
关注(0)|答案(3)|浏览(92)

在R中是否有一个“by row”操作来将向量中的每一行转换为字符串?

> d= cbind("Data", c("2", "73"))
> d
     [,1]   [,2]
[1,] "Data" "2" 
[2,] "Data" "73"

字符串
我想要的是像这样的字符串

[,1]
[1,] "Data 2"
[2,] "Data 73"


有没有一种简单的方法来按行连接项目?

cig3rfwq

cig3rfwq1#

是的,有。它被称为“应用”;-)

apply(d,1,paste,collapse=" ")
[1] "Data 2"  "Data 73"
# convert to matrix using as.matrix to get exactly your solution

字符串
参见?apply?paste

p8h8hvxi

p8h8hvxi2#

一种不使用?apply的通用方法:

do.call(paste, as.data.frame(d))
[1] "Data 2"  "Data 73"

字符串
其中as.data.frame用于避免下标。
编辑:
do.call是一个以另一个函数作为第一个参数,以列表作为第二个参数的函数。它通常用于向函数发送参数列表(在我们的例子中,dpaste()的列)。我们将d作为data.frame(一种列表)发送,以使此技巧生效。

cngwdvgl

cngwdvgl3#

快速浏览一下?paste之后,很明显,apply对于给定的示例来说是不需要的。

> paste(d[,1],d[,2])
[1] "Data 2"  "Data 73"

字符串

相关问题