R语言 | 进阶字符串的处理
目录
一、语句的分割
二、修改字符串的大小写
三、unique()函数的使用
四、字符串的连接
4.1 使用paste()函数常见的失败案例1
4.2 使用paste()函数常见的失败案例2
4.3 字符串的成功连接与collapse参数
4.4 再谈paste()函数
4.5 扑克牌向量有趣的应用
五、字符串数据的顺序
六、查找字符串的内容
6.1 使用索引值搜索
6.2 使用grep()函数搜索
七、字符串内容的更改
编辑 八、正则表达式
8.1 搜索具有可选择性
8.2 搜索分类字符串
8.3 搜索部分字符可重复的字符串
一、语句的分割
在使用R语言时,常常需要将一段句子拆成单词,此时可以使用strsplit()函数。
二、修改字符串的大小写
toupper():这个函数可以将字符串改成大写。
tolower():这个函数可以将字符串改成小写。
三、unique()函数的使用
这个函数主要是让向量内容没有重复地出现。unique()函数可以让所有元素内容不重复出现。
四、字符串的连接
4.1 使用paste()函数常见的失败案例1
上述实例使用paste()函数失败,最主要的原因是paste()函数内有c()函数,字符串经过c()函数处理后就会形成一个字符串向量。
4.2 使用paste()函数常见的失败案例2
与上一个案例失败的原因相同。
4.3 字符串的成功连接与collapse参数
若是想用paste()函数成功将字符串向量内的字符串连接,需加上collapse参数。假设字符串是使用空格连接,则在paste()函数加上collapse=""参数即可。
将collapse参数设为NULL,与不加上此参数的结果相同。其实collapse参数除了NULL外,可以是任何其他字符,这个字符将是连接各个单字符的字符。
4.4 再谈paste()函数
其实paste()函数的主要目的是将两个或多个向量连接。
在连接的向量中,每个元素间以空格分开,如果我们不想让元素间有空格,可以在paste()函数内加上seq=" "参数。
如果要连接的两个向量的长度(元素个数)不相同,R语言会使用重复机制,让较短的向量重复,直至与较长向量的长度相等。
4.5 扑克牌向量有趣的应用
五、字符串数据的顺序
sort()函数会为字符串向量的元素排序,默认是从小排到大,至于元素本身则不做排序。另外,decreasing参数默认是FALSE,如果设为TRUE,则排序是按由大排到小。
六、查找字符串的内容
6.1 使用索引值搜索
如果我们知道所要查找的字符串的索引值,那么可以使用substr()函数查找字符串。
6.2 使用grep()函数搜索
grep()函数是一个查找功能非常强大的函数。如果你去图书馆想找一本书,只知道Word 2013的书,却不知道完整书名,那么只输入“Word 2013”,系统即可搜索。这个函数的基本使用格式如下所示:
grep(pattern,x)
pattern:代表搜索的目标内容。
x:是字符串向量。
如果在搜索时,找不到所搜索的内容,R语言将响应“character(0)”,表示是空的向量。
七、字符串内容的更改
sub()函数可以对搜索的字符串内容执行更改,这个函数的使用格式如下:
sub(pattern,replacement,x)
pattern:要搜索的字符串。
replacement:将要取代原字符串的字符串。
x:字符串向量。
八、正则表达式
8.1 搜索具有可选择性
搜索具有可选择性,相当于具有or的特性,它的R语言语法是使用"|"符号,这个符号与"\"在同一个键盘按键上。
8.2 搜索分类字符串
可以使用"( )"符号搭配"|"符号,将所搜索的字符串分类。
8.3 搜索部分字符可重复的字符串
在搜索中可以添加"*"代表出现0次或多次,添加"+"代表出现1次或多次。
相关文章:

R语言 | 进阶字符串的处理
目录 一、语句的分割 二、修改字符串的大小写 三、unique()函数的使用 四、字符串的连接 4.1 使用paste()函数常见的失败案例1 4.2 使用paste()函数常见的失败案例2 4.3 字符串的成功连接与collapse参数 4.4 再谈paste()函数 4.5 扑克牌向量有趣的应用 五、字符串数据的…...

【MySQL高级】——InnoDB索引MyISAM索引
一、索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结构以某种方式指向…...

电影《灌篮高手》观后
上周和同学一起看了电影《灌篮高手》这部电影,个人以前没有看过相关漫画和动画,但记得,看过海报和一些宣传物品,有的衣服上,有文具盒上,也都出现过,而且是在自己小时候,可见当时的影…...

C# .Net 中的同步上下文
.Net 中的同步上下文 【文 / 张赐荣】 什么是同步上下文? 同步上下文(SynchronizationContext)是一个抽象类,它提供了一个基本的功能,用于在不同的同步模型中传播一个同步操作。 同步上下文表示一个代码执行的位置&a…...

3分钟入门:Flex 布局
flex 布局原理 全称 flexible box,弹性布局。 如何开启:为元素添加 display: flex。 开启 flex 布局的元素,称为 flex 容器(flex container),其子元素成为容器成员,称为 flex 项目。 flex 布…...

我想知道,就目前形势而言,学java好还是C++好?
前言 就现实点看看,可以对比现在Java和C的市场占有率,可以看到,到目前为止,Java在国内编程语言的市场仍然是占据着大头,在招聘当中Java的人数占有率仍然是遥遥领先于C,Java目前开阔的市场以及其巨大的岗位…...

Mysql 管理
目录 0 课程视频 1 系统数据库 -> 安装完mysql ->自带四个数据库 2 常用工具 -> 写脚本用 2.1 mysql 客户端工具 2.2 mysqladmin 2.3 mysqlbinlog -> 二进制日志 -> 运维讲解 2.4 mysqlshow 2.5 mysqldump 备份用 ->导出 2.6 mysqlimport/source -…...

C#基础(算术运算符)
作用 算术运算符 是用于 数值类型变量计算的运算符 它的返回结果是数值 赋值符号 // // 关键知识点: // 先看右侧 再看左侧 把右侧的值赋值给左侧的值 int myAge 18; 算术运算符 加 // 用自己计算 先算右侧结果 在赋值给左侧变量 int i 1; i i 2; …...

BM43-包含min函数的栈
题目 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。 此栈包含的方法有: push(value):将value压入栈中pop():弹出栈顶元素top():获取…...

[学习笔记] [机器学习] 3. KNN( K-近邻算法)及练习案例
视频链接数据集下载地址:《3. KNN及练习案例》配套数据集 1. K-近邻算法(KNN)概念 学习目标: 掌握K-近邻算法实现过程知道K-近邻算法的距离公式知道K-近邻算法的超参数 K K K值以及取值问题知道kd树实现搜索的过程应用KNeighborsClassifier实现分类知…...

React Hooks 钩子函数错误用法,你还在犯这些错误吗
React Hooks 常见错误 前言 本片文章主要是在写react hooks的时候,遇到的常见错误的写法,和错误。也是一个对只是的巩固和总结。 错误一 上代码:正确写法 function TestReactHooksError() {const [test, setTest] useState(test);useEff…...

tpm2-tools源码分析之tpm2_evictcontrol.c(1)
TPM 2.0中的tpm2_evictcontrol命令对应的源文件就是tpm2_evictcontrol.c,该文件位于tpm2-tools/tools/下,一共有339行(版本5.5)。 tpm2_evictcontrol的功能是使一个被加载的密钥持久保存、或者从TPM中移除一个持久密钥。命令描述…...

SpringCloud_OpenFeign服务调用和Resilience4J断路器
文章目录 一、负载均衡概论1、服务器负载均衡2、客户端负载均衡3、客户端负载均衡策略(SpringCloudRibbon)4、客户端负载均衡策略(SpringCloudLoadBalancer) 二、SpringCloudOpenFeign服务调用1、OpenFeign服务调用的使用2、OpenFeign服务调用的日志增强3、OpenFeign服务调用超…...

【C++】switch 语句
目录 1、缘起 2、笔记整理 3、if 和 switch 区别 4、总结 1、缘起 最近(2023-04-29)在 BiliBili 黑马程序员学习 C 编程语言,今天学习到了 switch 语句。以前在学习 C 语言 的时候,对这块知识点掌握的不是很好,…...

【Database-06】Centos 9 安装docker版的Oceanbase
1、安装docker 1.1、卸载旧版本 旧版本的 Docker 被称为docker或docker-engine。如果安装了这些,卸载它们以及相关的依赖项。 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotat…...

TiDB Operator 和 Operator Dashboard
TiDB Operator 和 Operator Dashboard V1TiDB Operator概念实现 Operator Dashboard概念实现 V2思路实例代码TiDB ARM OperatorTiDB ARM Operator Dashboard V1 为了演示如何编写 TiDB Operator 和 Operator Dashboard,我们将分别介绍它们的概念和实现。 TiDB Ope…...

计算机网络闲谈01——QUIC协议
计算机网络闲谈01——QUIC协议 预备知识 重传机制 RTT 一个连接的往返时间 RTO 重传超时时间 RTT和RTO 的关系是:由于网络波动的不确定性,每个RTT都是动态变化的,所以RTO也应随着RTT动态变化。 流量控制 对发送方发送速率的控制 称之为…...

楼层滚动效果(超级简单,易懂)
系列文章目录 文章目录 系列文章目录一、楼层滚动效果图如下1. 下图是纯Css实现的楼层滚动2.通过Js优化后的楼层滚动如下图(🌹🌹) 二、楼层滚动(Css实现)1.滚动原理2.代码如下 三、楼层滚动(JsCss优化后的楼层滚动&…...

FPGA、 CPU、GPU、ASIC区别
一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新…...

ChatGPT 之父承认 GPT-5 并不存在,为什么 OpenAI 总是这么实诚?|万字详述
ChatGPT 诞生前传 来源: 爱范儿 微信号:ifanr 最近,OpenAI 的 CEO Sam Altman 在一场公开会议上为 GPT-5 辟谣。 他声称 OpenAI 并没有在训练 GPT-5,而是一直基于 GPT-4 做别的工作。 OpenAI 是一家非常有趣的机构,和微软、Go…...

华为交换机配置telnet登录图文教程
一、配置交换机管理vlan和地址,配置交换机接口 1.关闭多余的信息提示: [Huawei]undo in en Info: Information center is disabled. [Huawei] 2.交换机配置 在工作中通过Telnet方式登录交换机进行设备登录管理能更加便利,不需要到机房里…...

Linux:网络基础1
网络协议分层 所有网络问题,本质都是通信距离变长了,为了尽可能减少通信成本,定制了协议。 协议分层的优势: 软件设计方面的优势 - 低耦合 一般我们的分层依据: 功能比较集中,耦合度比较高的模块-- 一层 ,…...

Matlab对日期变量和时间变量的管理
Matlab2012a内置了三个函数 datanumdatevecdatestr 靠这三个函数,可以基本实现日期变量和时间变量的管理。下面直接来看。 (1)datanum 这个函数用来将字符串,日期矢量转为通用日(数值型)。所谓的通用日…...

js字符串 常用方法 并带详细讲解
JavaScript中字符串是一种基本数据类型,表示文本数据。字符串常用方法有以下几种: length:返回字符串的长度。 let str "hello world"; console.log(str.length); // 11indexOf:返回字符串中指定字符或子串的位置&am…...

Oracle_Audit_审计
1、什么是审计审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通…...

python算法中的深度学习算法之生成对抗网络(详解)
目录 学习目标: 学习内容: 生成对抗网络 Ⅰ. 生成器 Ⅱ. 判别器...

【VM服务管家】VM4.0软件使用_1.2 工具类
目录 1.2.1 文本保存:逐行保存格式化模块输出的方法1.2.2 脚本模块:循环模块搭配脚本使用的方法1.2.3 几何查找:彩色图像的几何查找方法1.2.4 深度学习:图像分割的面积的获取方法1.2.5 颜色识别:使用颜色识别工具做分类…...

Android系统架构
Application层,也就是应用层,不仅包括通话短信联系人这种系统级的应用,还包括用户自己安装的一些第三方应用Framework层,这一层大部分用Java写的,包括系统服务和四大组件Library层,这一层大部分都是C/C写的…...

零基础想成为黑客,只需要四步
前言 首先要明白,该篇文章说的黑客不是那种窃取别人信息、攻击别人系统的黑客,说的是调试和分析计算机安全系统的网络安全工程师。 黑客技术的核心之一就是渗透攻防技术,是为了证明网络防御按照预期计划正常运行而提供的一种机制。就是通过模…...

ChatGPT研究报告:AIGC带来新一轮范式转移
本文约4000字,目标是快速建立AIGC知识体系,含有大量的计算专业名词,建议阅读同时扩展搜索。 一、行业现状 1、概念界定 区别于PGC与UGC不同的,AIGC是利用人工智能技术自动生成内容的新型生产方式。 2、数据模态 按照模态区分&a…...