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
无需求助于的一般方法?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(一种列表类型)发送,以使这个技巧发挥作用。