如何连接矢量?

Joh*_*n 32 r vector concatenation

我想产生一个变量这是两个字符的串联,例如从"p30s4""p28s4"到"p30s4 p28s4"去了.我尝试了猫和粘贴,如下所示.两者都返回空变量.我究竟做错了什么?

> blah = c("p30s4","p28s4")
> blah
[1] "p30s4" "p28s4"

> foo = cat(blah)
p30s4 p28s4
> foo
NULL

> foo = paste(cat(blah))
p30s4 p28s4
> foo
character(0)
Run Code Online (Sandbox Code Playgroud)

shu*_*e87 60

尝试使用:

> paste(blah, collapse = "")
[1] "p30s4p28s4"
Run Code Online (Sandbox Code Playgroud)

或者如果你想要中间的空间:

> paste(blah, collapse = " ")
[1] "p30s4 p28s4"
Run Code Online (Sandbox Code Playgroud)


wkm*_*or1 10

paste()的'collapse'参数的替代方法是使用do.call()将vector中的每个值作为参数传递.

do.call(paste,as.list(blah))
Run Code Online (Sandbox Code Playgroud)

优点是这种方法可以推广到"粘贴"以外的功能.