R语言基入门(5)之字符型数据及其处理

目录

1.字符型向量

2. paste() 函数

3.转换大小写

4.字符串长度

5.取子串

6. 类型转换

7. 字符串拆分

8.字符串替换功能

9.正则表达式


1.字符型向量

        字符型向量是元素为字符串的向量。如
s <- c('abc', '', 'a cat', NA, ' 李明')
s

返回:

2. paste() 函数

        针对字符型数据最常用的 R 函数是 paste() 函数。
        paste() 用来连接两个字符型向量,元素 一一 对应连接,默认用空格连接。如
paste(c("ab", "cd"),c("ef", "gh"))

返回:

上面还等于

c("ab ef", "cd gh")
        paste() 在连接两个字符型向量时采用 R 的一般向量间运算规则,而且可以自动把数值型向量转换为字符型向量。可以作一对多连接,如
paste("x", 1:3)

返回:

        我们还可以sep= 指定分隔符,如

paste("x", 1:3, sep="")

返回:

 

        还可以使用 collapse= 参数可以把字符型向量的各个元素连接成一个单一的字符串,如
paste(c("a", "b", "c"), collapse="")

返回:

3.转换大小写

        toupper() 函数把字符型向量内容转为大写,如
toupper('aB cd')

返回:

        tolower() 函数把字符型向量内容转为小写,如

tolower(c('aB', 'cd'))

返回:

4.字符串长度

        用 nchar(x, type='bytes') 计算字符型向量 x 中每个字符串的以字节为单位的长度,这一点对中英文是有差别的,中文通常一个汉字占两个字节英文、字母、数字、标点一个字节。如
x1 <- "i love you"
nchar(x1, type='bytes')
x2 <- "我爱你"
nchar(x2, type='bytes')

返回:

从结果可以看到,空格也算一个长度

        用 nchar(x, type='chars') 计算字符型向量 x 中每个字符串的以字符个数为单位的长度,这时一个汉字算一个单位。
x1 <- "i love you"
nchar(x1, type='chars')
x2 <- "我爱你"
nchar(x2, type='chars')

返回:

5.取子串

        R语言中,序号从1开始。

        substr(x, start, stop) 从字符串 x 中取出从第 start 个到第 stop 个的子串,如
substr('JAN07', 1, 3)

返回:

        如果 x 是一个字符型向量,substr 将对每个元素取子串。如

substr(c('JAN07', 'MAR66'), 1, 3)

返回:

        用 substring(x, start) 可以从字符串 x 中取出从第 start 个到末尾的子串。如
substring(c('JAN07', 'MAR66'), 4)

返回:

6. 类型转换

        用 as.numeric() 把内容是数字的字符型值转换为数值,也可以转换一个向量的每个元素为数值型,如
substr('JAN07', 4, 5)substr('JAN07', 4, 5) + 2000as.numeric(substr('JAN07', 4, 5)) + 2000as.numeric(substr(c('JAN07', 'MAR66'), 4, 5))

返回:

        as.character() 函数把数值型转换为字符型,如果自变量本来已经是字符型则结果不变,如

as.character((1:5)*5)

返回:

        为了用指定的格式数值型转换成字符型,可以使用 sprintf() 函数,其用法与 C 语言的 sprintf() 函数相似,只不过是向量化的。例如
sprintf('file%03d.txt', c(1, 99, 100))

返回:

7. 字符串拆分

        用 strsplit() 函数可以把一个字符串按照某种分隔符拆分开,例如
x <- '10,8,7'
strsplit(x, ',', fixed=TRUE)[[1]]

返回:

        然后,我们还可以把上述字符串转化成数值型,并且求和,如

sum(as.numeric(strsplit(x, ',', fixed=TRUE)[[1]]))

返回:

8.字符串替换功能

        用 gsub() 可以替换字符串中的子串,这样的功能经常用在数据清理中。比如,把数据中的中文标点改为英文标点,去掉空格,等等。如
x <- '1, 3; 5'
gsub(';', ',', x, fixed=TRUE)

返回:

         然后,我们再进行一下字符串拆分,如

strsplit(gsub(';', ',', x, fixed=TRUE), ',')

返回:

我们可以从上述结果中,看到多了 [[1]] ,于是我们可以用下列方式去掉

strsplit(gsub(';', ',', x, fixed=TRUE), ',')[[1]]

返回:

9.正则表达式

        正则表达式 (regular expression) 是一种匹配某种字符串模式的方法。用这样的方法,可以从字符串中查找某种模式的出现位置,替换某种模式,等等。这样的技术可以用于文本数据的预处理,比如用网络爬虫下载的大量网页文本数据。R 中支持 perl 语言格式的正则表达式,grep() grepl() 函数从字符串中查询某个模式,sub()gsub() 替换某模式。比如,下面的程序把多于一个空格替换成一个空格
gsub('[[:space:]]+', ' ', 'a cat in a box', perl=TRUE)

返回:

        正则表达式,我们就在这介绍这么多,后续会出一个更全更详细的。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言基础入门(6)之向量下标和子集

目录 1.正整数下标 2.负整数下标 3.空下标与零下标 4.下标超界 5.逻辑下标 6. which()、which.min()、which.max() 函数 7. 元素名 8.用 R 向量下标作映射 9.集合运算 练习 1.正整数下标 首先定义一个x&#xff0c;然后对向量 x, 在后面加方括号和下标可以访问向量…

C语言随机数的生成

在编程中&#xff0c;我们经常需要生成随机数&#xff0c;例如&#xff0c;贪吃蛇游戏中在随机的位置出现食物&#xff0c;扑克牌游戏中随机发牌等。 在C语言中&#xff0c;我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数&#xff0c;它的用法为&#xff…

R语言基础入门(7)之数据类型的性质

目录 1.存储模式与基本类型 2.类属 3.类型转换 4.属性 5.str() 函数 6.关于赋值 1.存储模式与基本类型 R语言中根据类型可以将数据划分为&#xff1a; 数值型&#xff08;numeric&#xff09;整数型&#xff08;integer&#xff09;字符型&#xff08;character&#xff09…

C++班级通讯录

C实现班级通讯录管理系统 设计流程 本系统基于C实现班级通讯录管理系统。功能包括增、删、查、改等。通讯录包括的个人信息有姓名、学号、性别、籍贯、政治面貌、手机号、QQ号、宿舍等。主要用到了指针、结构体、遍历链表、文件读取等知识点。 优点 1 . 此系统含有欢迎使用的…

两万字教会你解析库之Beautiful Soup

目录 1.简介 2.准备工作 3.解析器 4.基本用法 5.节点选择器 5.1选择元素 5.2提取信息 5.3嵌套选择 5.4关联选择 6.方法选择器 7. css 选择器 7.1 嵌套选择 7.2 获取属性 7.3 获取文本 总结 1.简介 简单来说&#xff0c;Beautiful Soup就是Python的一个HTML或XM…

C语言实现随机抽取纸牌

程序设计要求 本程序负责发一副标准纸牌&#xff0c;每张标准纸牌都有一种花色&#xff08;梅花、方块、黑桃、红桃&#xff09;和一个等级&#xff08;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6…K,A&#xff09;。程序需要用户指明手机有几张牌。 程序设计流…

R语言基础入门(8)之日期时间

目录 1.日期和日期时间类型 2.从字符串生成日期数据 3.日期显示格式 4.访问日期时间的组成值 5.日期舍入计算 6.日期计算 6.1 时间长度 6.2 时间周期 6.3 时间区间 7.基本 R 软件的日期功能 7.1 生成日期和日期时间型数据 7.2 取出日期时间的组成值 7.3 日期计算 练…

C语言点名器

设计流程 1 . 使用求模符号“%”求模数控制随机数产生范围。 2 . 使用rand&#xff08;&#xff09;计算出一个随机数。 3 . 使用函数time()来获取时间。 4 . 用二维字符数组储存名字&#xff0c;产生范围类的随机数在用下标调用数组里面的名字。 效果展示 完整代码 #inclu…

R语言基础入门(9)之因子类型

目录 1.因子 2.table() 函数 3.tapply() 函数 4.forcats 包的因子函数 练习 1.因子 R 中用因子代表数据中分类变量, 如性别、省份、职业。有序因子代表有序量度&#xff0c;如打分结果&#xff0c;疾病严重程度等。用 factor() 函数把字符型向量转换成因子&#xff0c;如x…

2万字带你攻略掉Selenium

目录 1. 准备工作 1.1 安装selenium库 1.2 安装浏览器驱动 2. 基本用法 2.1 初始化浏览器对象 2.2 访问页面 2.3 设置浏览器大小 2.4 刷新页面 2.5 前进后退 3. 获取页面基础属性 4. 定位页面元素 4.1 id定位 4.2 name定位 4.3 class定位 4.4 tag定位 4.5 lin…

IDEA里的web.xml页面的Servlet名称报错下方出现红色下划线

错误显示 对于上述错误是因为只有新建的Servlet名称但是并没为为这个Servlet指定访问地址的路径和映射&#xff0c;我们只需要添加访问地址的路径和映射就可以解决这个问题了。 修改之后的代码 <?xml version"1.0" encoding"UTF-8"?> <web-ap…

Python之Hello World

python实现Hello World项目 在项目上点击右键New–>File,然后输入文件名Hello World 一个Hello World文件创建完成 编写相应的代码 在空白的地方右击选择Run"Hello World" 程序运行成功&#xff0c;输出Hello World

knn(k近邻算法)——python

目录 1. 基本定义 2. 算法原理 2.1 算法优缺点 2.2 算法参数 2.3 变种 3.算法中的距离公式 4.案例实现 4.1 导入相关库 4.2 读取数据 4.3 读取变量名 4.4 定义X,Y数据 4.5 分离训练集和测试集 4.6 计算欧式距离 4.7 可视化距离矩阵 4.8 预测样本 4.9 查看正确…

C语言中的文件是什么?

我们对文件的概念已经非常熟悉了&#xff0c;比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种&#xff0c;最主要的作用是保存数据。 在操作系统中&#xff0c;为了统一对各种硬件的操作&#xff0c;简化接口&#xff0c;不同的硬件设备也都被看成一个文件。对…

knn(k近邻算法)——matlab

目录 1. 基本定义 2. 算法原理 2.1 算法优缺点 2.2 算法参数 2.3 变种 3.算法中的距离公式 4.案例实现 4.1 读取数据 4.2 分离训练集和测试集 4.3 归一化处理 4.4 计算欧氏距离 4.5 排序和输出测试结果 4.6 计算准确率 总代码 1. 基本定义 k最近邻(k-Nearest N…

C语言打开文件详解

C语言中操作文件之前必须先打开文件&#xff1b;所谓“打开文件”&#xff0c;就是让程序和文件建立连接的过程。 打开文件之后&#xff0c;程序可以得到文件的相关信息&#xff0c;例如大小、类型、权限、创建者、更新时间等。在后续读写文件的过程中&#xff0c;程序还可以记…

python turtle虎年来拜年了

1.画个虎 # codingutf-8 from turtle import * import timeCOLOR #B2814Ddef set_start(x, y, w, cCOLOR):penup()setx(x)sety(y)setheading(towards(0, 0))width(w)pencolor(c)pendown()speed(0)def left_rotate(time, angle, length):for i in range(time):left(angle)forwa…

TOPSIS法 —— matlab

目录 1.TOPSIS法介绍 2. 计算步骤 &#xff08;1&#xff09;数据标准化 &#xff08;2&#xff09;得到加权后的矩阵 &#xff08;3&#xff09;确定正理想解和负理想解 &#xff08;4&#xff09;计算各方案到正&#xff08;负&#xff09;理想解的距离 &#xff08;…

TOPSIS法 —— python

目录 1.TOPSIS法介绍 2. 计算步骤 &#xff08;1&#xff09;数据标准化 &#xff08;2&#xff09;得到加权后的矩阵 &#xff08;3&#xff09;确定正理想解和负理想解 &#xff08;4&#xff09;计算各方案到正&#xff08;负&#xff09;理想解的距离 &#xff08;…

C语言随机读写文件

实现随机读写的关键是要按要求移动位置指针&#xff0c;这称为文件的定位。 文件定位函数rewind和fseek 移动文件内部位置指针的函数主要有两个&#xff0c;即 rewind() 和 fseek()。 rewind() 用来将位置指针移动到文件开头&#xff0c;前面已经多次使用过&#xff0c;它的…