使用粘贴减少粘贴0

时间:2019-11-27 20:31:40

标签: r paste

我在这里有一个清单。

NewList <- list(a="abc",b="xyz",c="lmn")

如果我运行Reduce(f = function(x,y){paste0(x,y,sep=";")},x=NewList) 令人惊讶的是,它给了我"abcxyz;lmn;"

如果我运行Reduce(f = function(x,y){paste(x,y,sep=";")},x=NewList),答案将是预期的"abc;xyz;lmn"

有人能帮我解释一下为什么paste0给出的结果与paste不同吗?

1 个答案:

答案 0 :(得分:1)

根据?paste

  

paste0(...,折叠)等效于paste(...,sep =“”,折叠),效率更高。

通过提供新的sep,它与现有sep产生了冲突。而是将pastesep

一起使用

在这里,我们可以直接使用paste而不使用任何Reduce,因为length的每个元素的list为1

paste(NewList, collapse=";")
#[1] "abc;xyz;lmn"

paste0(NewList, collapse=";")
#[1] "abc;xyz;lmn"

请注意,在上述情况下,我们并未触摸sep