R语言 中的 paste/paste0 函数

paste/paste0 函数, 用于连接字符(向量), paste 可以设置连接字符,默认以空格作为连接字符; paste0 以空字符串连接字符,不能设置 sep 值。collapse 参数可以实现用 sep 连接后的字符向量的元素间的再次连接。

1、paste(..., sep=" ")

> paste("a", "b") # 默认以空格连接字符 a 和 b, [1] "a b"
paste("a", "b", "c")
[1] "a b c"
> paste("a", "b", sep = "=") # 用“=” 连接字符 a 和 b[1] "a=b"
#连接多个元素
> paste("a", 1:5, sep = "") # 1:5 中的每个元素与 a 相连[1] "a1" "a2" "a3" "a4" "a5"
> paste("a",1:5,".pdf", sep = "") # 批量生成文件名[1] "a1.pdf" "a2.pdf" "a3.pdf" "a4.pdf" "a5.pdf"

python 中, 列表解析、map 函数可实现。

2、paste0(...)

> a <- unlist(strsplit("一二三四五六日", split=""))
> a
[1] "一" "二" "三" "四" "五" "六" "日"

> d <- paste0("星期", a)
> d
[1] "星期一" "星期二" "星期三" "星期四" "星期五" "星期六"
[7] "星期日"

> paste0("星期", a, sep="*") # 设置 sep 不太对
[1] "星期一*" "星期二*" "星期三*" "星期四*" "星期五*"
[6] "星期六*" "星期日*"

3、有总结说:sep 连接的是元素间的扩展,collapse 是一种元素间的折叠坍缩

> a <- c("一", "两", "三四")
> paste(a, "片", sep="")
[1] "一片"   "两片"   "三四片"

> paste(a, "片", sep="", collapse="")
[1] "一片两片三四片"

> paste0(a, "片", collapse="")
[1] "一片两片三四片"