R:如何在循环中分离字符输出?

时间:2010-03-18 19:57:43

标签: r loops character separator

我正在搞清楚将字符串列表粘贴在一起以进入SQL语句的最佳方法...我遇到了分隔条问题在我不想要的时候开始打印:

foo = "blah"
paste_all_together = NULL
for (n in 1:4) {
    paste_together =     paste(foo ,sep = "")
    paste_all_together = paste(paste_all_together, paste_together, sep = "|")
    }

> paste_all_together
[1] "|blah|blah|blah|blah"

我只想把它打印出来“blah | blah | blah | blah”。我是否需要嵌套循环,或者R中是否有更好的itterator来执行此操作?或者也许是输入SQL语句的更好方法?

3 个答案:

答案 0 :(得分:2)

也许使用collapse选项:

foo = list('bee','bar','baz')
paste(foo,collapse='|')

产量

"bee|bar|baz"

答案 1 :(得分:2)

问题实际上是您第一次拨打paste(paste_all_together,...)时 - 它实际上是将空字符串粘贴到"blah",在它们之间添加|

这里已经有2个答案比我建议的要好,但是用最小的手术来修复你的例子看起来像这样:

foo <- "blah"
all_together <- character(0)
for (n in 1:4) {
    all_together <- c(all_together, foo)
}
paste(all_together, collapse="|")

答案 2 :(得分:1)

paste(rep(foo,4),collapse='|')

[1] "blah|blah|blah|blah"