R语⾔中c()函数与paste()函数的区别说明
c()函数:将括号中的元素连接起来,并不创建向量
paste()函数:连接括号中的元素
例如
c(1, 2:4),结果为1 2 3 4
paste(1, 2:4),结果为“1 2” “1 3” “1 4”
c(2, "and"),结果为“2” “and”
paste(2, "and"),结果为“2 and”
补充:R语⾔中paste函数的参数sep和collapse详解
R语⾔⽤于拼接字符串的函数主要有两个:
paste (..., sep = " ", collapse = NULL)
paste0(..., collapse = NULL)
其中paste0函数式paste函数的缩减版本,少了⼀个参数sep。参数中的......表⽰的是想要拼接的对象,后⾯的参数表⽰拼接的⽅式。
通常对于字符串拼接我们有三种需求:
⼀堆单独的字符串拼接到⼀起;
两个或者更多字符串对象根据元素对应关系拼接到⼀起;
⼀个字符串连接在⼀起。
举点例⼦:
paste('hello','world','!') #⼀堆单独的字符串拼接到⼀起字符串和函数是什么
## [1] "hello world !"
paste(c('A','B','C'),c(1,2,3)) #两个或者更多字符串对象根据元素对应关系拼接到⼀起
## [1] "A 1" "B 2" "C 3"
paste(1:10) #⼀个字符串连接在⼀起
## [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
那么两个参数的⽤法是什么样的呢?
当处理前两种需求的时候⽤到的参数是sep,即多个字符串之间的拼接;
当处理第三种需求的时候⽤到的参数是collapse,即⼀个字符串拼接的时候⽤什么符号或者格式来连接;
举点例⼦:
paste('hello','world','!') #⼀堆单独的字符串拼接到⼀起,如果想⽤‘_'连接起来
paste('hello','world','!',sep = '_')
## [1] "hello_world_!"
paste(c('A','B','C'),c(1,2,3)) #两个或者更多字符串对象根据元素对应关系拼接到⼀起,如果想⽤‘-'连接起来
paste(c('A','B','C'),c(1,2,3),sep = '-')
## [1] "A-1" "B-2" "C-3"
#此外需要注意的是如果传⼊的两个或多个对象的长度不⼀样,对应关系会发⽣变化,⽐如
paste(c('A','B','C','D','E'),c(1,2),sep = '-')
## [1] "A-1" "B-2" "C-1" "D-2" "E-1"
paste(1:10) #⼀个字符串连接在⼀起,这第三种需求与上⾯很⼤的不同在于上⾯两种需求传⼊的都是多个对象,⽽第三种需求在函数的第⼀个参数位置上只传⼊⼀个对象,如果需要⽤‘~'连接paste(1:10, collapse = '~')
## [1] "1~2~3~4~5~6~7~8~9~10"
对于缩减版本的paste0有这样的等式:
paste0(“a”, “b”) == paste(“a”, “b”, sep=”“)
个⼈觉得熟悉paste即可,毕竟paste功能更加丰富,⽤起来更加灵活。
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论