在R中:按行连接矢量元素,将矢量行转换为字符串

gak*_*era 13 r

R中是否有"by row"操作将像这样的向量中的每一行转换为字符串?

> d= cbind("Data", c("2", "73"))
> d
     [,1]   [,2]
[1,] "Data" "2" 
[2,] "Data" "73"
Run Code Online (Sandbox Code Playgroud)

我想要的是获得类似的字符串

     [,1]
[1,] "Data 2"
[2,] "Data 73"
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以逐行加入项目?

Jor*_*eys 23

就在这里.它被称为"申请";-)

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

?apply?paste


Beg*_*ath 5

无需求助于的一般方法?apply

do.call(paste, as.data.frame(d))
[1] "Data 2"  "Data 73"
Run Code Online (Sandbox Code Playgroud)

whereas.data.frame用于避免下标。

编辑:

do.call是一个函数,它接受另一个函数作为第一个参数,一个列表作为第二个参数。d它通常用于向函数发送参数列表(在我们的例子中,是to的列paste())。我们将 d 作为 data.frame(一种列表类型)发送,以使这个技巧发挥作用。