0

文字列のリストを一緒に貼り付けて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"

「何とか|何とか|何とか|何とか」を印刷したいだけです。ネストされたループが必要ですか、それともこれを行うためのより良いイテレータがRにありますか?または、SQLステートメントを入力するためのより良い方法はありますか?

4

3 に答える 3

2

おそらく、次のcollapseオプションを使用します。

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

収量

"bee|bar|baz"
于 2010-03-18T20:12:08.210 に答える
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="|")
于 2010-03-18T21:18:26.553 に答える
1
paste(rep(foo,4),collapse='|')

[1] "blah|blah|blah|blah"
于 2010-03-18T20:25:00.050 に答える