作为R的新手,有人可以解释paste()
和paste0()
之间的区别,我从一些帖子中了解到的是
paste0("a", "b") === paste("a", "b", sep="")
即使我尝试过这样的事情
a <- c("a","b","c")
b <- c("y","w","q")
paste(a,b,sep = "_")
**output**
"a_y" "b_w" "c_q"
paste0()
a <- c("a","b","c")
b <- c("y","w","q")
paste0(a,b,sep = "_")
**output**
"ay_" "bw_" "cq_"
只是paste()
在元素之间使用了分隔符而paste0()
在元素之后使用了分隔符吗?
答案 0 :(得分:41)
正如in this blog by Tyler Rinker所说:
paste
有3个参数。
paste (..., sep = " ", collapse = NULL)
...
就是你的东西 想要粘贴在一起,sep和collapse是得到它的人 完成。我粘贴了三个基本内容:
- 一堆单独的字符串。
- 元素的2个或更多字符串粘贴元素。
- 一根绳子一起擦过。
以下是每个示例,但没有正确的参数
paste("A", 1, "%")
#一堆个别字符串。
paste(1:4, letters[1:4])
#2或更多字符串粘贴元素 元件。
paste(1:10)
#One字符串一起刷了。这是 每个的sep / collapse规则:
- 一堆单独的字符串 - 你想要sep
- 元素的2个或更多字符串粘贴元素。 - 你想要sep
- 一根绳子一起擦过.- Smushin需要崩溃
paste0
简称:paste(x, sep="")
所以它让我们变得懒散 更有效率。
paste0("a", "b") == paste("a", "b", sep="") ## [1] TRUE
答案 1 :(得分:12)
简单来说,
paste()
就像使用分离因子连接一样,
然而,
paste0()
就像使用分离因子的附加函数一样。
在上面的讨论中添加更多参考资料,下面的尝试可能有助于避免混淆:
> paste("a","b") #Here default separation factor is " " i.e. a space
[1] "a b"
> paste0("a","b") #Here default separation factor is "" i.e a null
[1] "ab"
> paste("a","b",sep="-")
[1] "a-b"
> paste0("a","b",sep="-")
[1] "ab-"
> paste(1:4,"a")
[1] "1 a" "2 a" "3 a" "4 a"
> paste0(1:4,"a")
[1] "1a" "2a" "3a" "4a"
> paste(1:4,"a",sep="-")
[1] "1-a" "2-a" "3-a" "4-a"
> paste0(1:4,"a",sep="-")
[1] "1a-" "2a-" "3a-" "4a-"
答案 2 :(得分:6)
让我用简单的话说.. paste0
会自动排除连接中的空格..
例如,我想创建一个训练和测试路径......这就是代码..
> Curr_date=format(Sys.Date(),"%d-%b-%y")
> currentTrainPath = paste("Train_",Curr_date,".RData")
> currentTrainPath
[1] "Train_ 11-Jun-16 .RData"
> Curr_date=format(Sys.Date(),"%d-%b-%y")
> currentTrainPath = paste0("Train_",Curr_date,".RData")
> currentTrainPath
[1] "Train_11-Jun-16.RData"