热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

R语言拼接字符串_paste的用法说明

这篇文章主要介绍了R语言拼接字符串_paste的用法说明,具有很好的参考价值,希望对大家有所帮助。一

R中自带的字符串连接的函数是paste。

先来看一下官方文档里对paste用法的解释:

基本格式:

paste (…, sep = " ", collapse = NULL)

其中,…表示对象,可以有多个,中间用逗号隔开。

sep表示分隔符,默认为空格。

collapse表示如果不指定值,那么函数paste的返回值是…的对象之间通过sep指定的分隔符连接后得到的一个字符型向量;如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间通过collapse的值分隔。

举例来说

paste("Hello", "xiaoming", sep = "-")

输出结果:

"Hello-xiaoming"

而如果其中某个对象是向量,会有类似于“循环连接”的效果。

paste("Hello", 1:2, sep = "-")

输出结果:

"Hello-1" "Hello-2"

如果想让上面的变成字符串而不是向量,只需要设置collapse。

paste("Hello", 1:2, sep = "-", collapse = ",")

输出结果:

"Hello-1,Hello-2"

补充:[R字符串] 字符串长度、分割、拼接、截取、替代、匹配和大小写替换

获取字符串长度:nchar()

字符串分割:strsplit()

字符串拼接:paste()

字符串截取:substr()

字符串替代:gsub() chartr() sub()

字符串匹配:grep()

大小写替换:toupper() tolower()

1. 获取字符串长度

nchar()能够获取字符串的长度,它也支持字符串向量操作。注意它和length()的结果是有区别的。

fruit <- "apple orange grape banana"
nchar(fruit)
length(fruit)   #元素个数为1
[1] 1

2. 字符串分割

strsplit()负责将字符串按照某种分割形式将其进行划分,需要设定分隔符。下面我们是用空格来作为

分隔符将fruit分为四个元素。

> strsplit(fruit,split=" ")
[[1]]
[1] "apple"  "orange" "grape"  "banana"    #list结构
> fruitvec <- unlist(strsplit(fruit,split=" "))
> fruitvec
[1] "apple"  "orange" "grape"  "banana"   #转化为向量

3. 字符串拼接

paste()负责将若干个字符串相连结,返回成单独的字符串。其优点在于,就算有的处理对象不是字符

型也能自动转为字符型。另一个相似的函数paste0是设置无需分隔符的拼接。

paste(fruitvec,collapse=",")    #逗号作为分隔符
[1] "apple,orange,grape,banana"

4. 字符串截取

substr()能对给定的字符串对象取出子集,其参数是子集所处的起始和终止位置。

substr(fruit, 1,5)
[1] "apple"

5. 字符串替代

chartr是字母替换,不是字符串替换。

gsub()负责搜索字符串的特定表达式,并用新的内容加以替代。

sub()函数类似gsub(),但只替代第一个。

> chartr("world","bear",a)   #字母替换
Error in chartr("world", "bear", a) : "old" is longer than "new" #字符长度要求一致
> chartr("world","beara",a)
[1] "herre beara"
> x<-"i love you"
> chartr("you","she",x)   #实际是字母替换,不是字符串替换
[1] "i lhve she"
> a<-"i love you, do you love me &#63;"
> sub("you","she", a)            #只替换第一个参数you
[1] "i love she, do you love me &#63;"
> gsub("you","she", a)           #可以替换全部参数 
[1] "i love she, do she love me &#63;"  
gsub("apple","strawberry",fruit)
[1] "strawberry orange grape banana"

6. 字符串匹配

grep()负责搜索给定字符串对象中特定表达式 ,并返回其位置索引。grepl()函数与之类似,但其后面的”l”则意味着返回的将是逻辑值。

grep("grape",fruitvec)   #返回grape在fruitvec中的位置
[1] 3 

7. 大小写替换

> a <- "Hello World"
> toupper(a)    #全部替换为大写
[1] "HELLO WORLD"
> tolower(a)    #全部替换为小写
[1] "hello world"

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


推荐阅读
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 深入理解 H5C3 和 JavaScript 核心问题
    本文详细探讨了 H5C3 和 JavaScript 中的一些核心编程问题,通过实例解析和代码示例,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
author-avatar
啊哈1983_384
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有