我这里有一份清单。
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不同
发布于 2019-11-28 04:35:06
根据?paste的说法
paste0(...,折叠)等同于粘贴(...,sep = "",折叠),效率稍高一些。
通过提供新的sep,它正在与已经存在的sep产生冲突。取而代之的是对sep使用paste
在这里,我们可以直接使用paste而不需要任何Reduce,因为list的每个元素的length都是1
paste(NewList, collapse=";")
#[1] "abc;xyz;lmn"或
paste0(NewList, collapse=";")
#[1] "abc;xyz;lmn"注意,在上面的例子中,我们没有接触到sep
https://stackoverflow.com/questions/59078011
复制相似问题