服务器之家

服务器之家 > 正文

R语言中c()函数与paste()函数的区别说明

时间:2022-01-12 14:36     来源/作者:yiyu_j

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语言用于拼接字符串的函数主要有两个:

?
1
2
paste (..., sep = " ", collapse = NULL)
paste0(..., collapse = NULL)

其中paste0函数式paste函数的缩减版本,少了一个参数sep。参数中的......表示的是想要拼接的对象,后面的参数表示拼接的方式。

通常对于字符串拼接我们有三种需求:

一堆单独的字符串拼接到一起;

两个或者更多字符串对象根据元素对应关系拼接到一起;

一个字符串连接在一起。

举点例子:

?
1
2
3
4
5
6
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,即一个字符串拼接的时候用什么符号或者格式来连接;

举点例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
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有这样的等式:

?
1
paste0(“a”, “b”) == paste(“a”, “b”, sep=”“)

个人觉得熟悉paste即可,毕竟paste功能更加丰富,用起来更加灵活。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/yiyu_j/article/details/87371288

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部