Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何在循环中分离字符输出?_R_Loops_Character_Separator - Fatal编程技术网

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

R:如何在循环中分离字符输出?,r,loops,character,separator,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 = "|") } > pas

我正在研究将字符串列表粘贴到一起以进入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语句的更好方法?

或者使用
折叠
选项:

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

"bee|bar|baz"

也许可以使用
折叠
选项:

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

"bee|bar|baz"

问题实际上是您第一次调用
粘贴(将所有内容粘贴在一起,…)
——它实际上是将空字符串粘贴到
“blah”
,并在它们之间放置一个

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

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

foo问题实际上是您第一次调用
paste(将所有内容粘贴在一起,…)
-它本质上是将空字符串粘贴到
“blah”
,在它们之间放置一个

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

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

foo谢谢,但是字符串不同,所以~unutbu的答案很合适best@John您的问题和示例代码表明字符串是相同的。下次你可以提供所有有问题的信息。谢谢,但是字符串不同,所以~unutbu的答案很合适best@John您的问题和示例代码表明字符串是相同的。下一次您可以给出所有有问题的信息。实际上,它给出了相同的结果,不管是否有空值,区别在于粘贴函数在for循环之外的位置。谢谢约翰-我在发帖时意识到了这一点,但我忘了更改我的第一段现在更改。实际上,无论是否使用NULL,它都会给出相同的结果,造成差异的是粘贴函数在for循环之外的位置。谢谢约翰-我在发帖时意识到了这一点,但我忘了更改我的第一段现在改变。