说有一个向量x:
x <- c("a", " ", "b")
Run Code Online (Sandbox Code Playgroud)
我想快速把它变成单个字符串"a b".有没有办法在没有循环的情况下做到这一点?我知道循环我能做到这一点:
y <- ""
for (i in 1:3){
paste(y, x[i], sep = "")
}
> y
[1] "a b"
Run Code Online (Sandbox Code Playgroud)
但是我需要在很多次迭代中做到这一点,并且必须循环遍历这个并且每次用新的替换原始将变得非常耗时.我总是希望能够做到这样的事情:
x <- paste(x)
Run Code Online (Sandbox Code Playgroud)
好像paste()可以巧妙地划分向量本身的元素,但我知道它不能.有没有其他功能,或更有创意的方式来使用paste(),这可以有效地实现这一目标?
我很困惑粘贴,并认为这只是简单的连接.
whales <- c("C","D","C","D","D")
quails <- c("D","D","D","D","D")
results <-paste(whales, quails, collapse = '')
Run Code Online (Sandbox Code Playgroud)
为什么这将返回"C DD DC DD DD D"而不是CD DD CD DD DD?
而且,为什么会这样
results <-paste(whales[1], quails[1], collapse = '')
Run Code Online (Sandbox Code Playgroud)
返回
"C D"?
有空间吗?
感谢:D
编辑
好的,我明白了
results <-paste(whales, quails, collapse = NULL, sep='')
Run Code Online (Sandbox Code Playgroud)
会得到我想要的,但解释为什么以前的代码不起作用?还要感谢回答者.