前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R基础|do包(1):左截取、右截取、中间截取

R基础|do包(1):左截取、右截取、中间截取

作者头像
Chris生命科学小站
发布2023-02-28 20:01:08
2.4K0
发布2023-02-28 20:01:08
举报

do包是我提交到CRAN的一个包,全称是data operator,数据操作者。

写do包的目的是为了能够更方便的对数据框和矩阵进行操作,所以do包中大部分命令都是支持数据框和矩阵,当然同时支持向量、数字、字符串等一些简单的数据类型,但是不支持列表list和数组array,主要是因为我平时对于list和array操作的比较少。

今天,先介绍do包中的第1组命令:左截取left、右截取right、中间截取mid。

这3个命令其实完全是为了实现excel中的这3个函数,所以,大家应该都会比较熟悉,但是也有亮点,在文末。

1、安装do包

代码语言:javascript
复制
install.packages('do')

2、调用do包

代码语言:javascript
复制
library(do)

3、左截取

左截取的命令是left,整个命令里面有2个参数,即截取谁,截多长。

①截取abc前2个字符

代码语言:javascript
复制
left("abc",2)

②截取123前2个字符

代码语言:javascript
复制
left(123,2)

③截取abc和123前2个字符

④截取整个数据框或者矩阵的前2个字符

代码语言:javascript
复制
df = data.frame(a=c(123,254,456),
                b=c("abcd","dfg","dgh"))
df                
代码语言:javascript
复制
left(df,2)

4、右截取

右截取的命令是rihgt,和左截取left命令使用完全一样,也有2个参数,即截取谁,截多长。这里不再举例。

5、中间截取

中间截取的命令是mid,有3个参数,截取谁,从哪里截,截多长。

①截取abc,从第2个字符开始,截取2个字符长度

代码语言:javascript
复制
mid("abc",2,2)

②截取123,从第2个字符开始,截取1个字符长度

代码语言:javascript
复制
mid(123,2,1)    

③截取abc和123,从第2个字符开始,截取1个字符长度

④截取整个数据框或者矩阵,从第2个字符开始,截取1个字符长度

代码语言:javascript
复制
df = data.frame(a=c(123,254,456),
                b=c("abcd","dfg","dgh"))
df                
代码语言:javascript
复制
mid(df,2,1)

这就完了?太简单了吧!

当然没有,mid函数中,第三个参数:截取的长度,都是向右截取,那么如何反向截取,向左截呢?

比如:从第2个字符开始,向左截取2个字符长度:那就把截取的长度改成负数即可。

代码语言:javascript
复制
mid(df,2,-2)

总结:左截取、右截取、中间截取对于字符串、数字、向量、数据框、矩阵都使用,并且使用方法都一样,mid函数具有反向截取的功能。


One More Thing......

课程目录 1、简介 2、安装R语言及Rstudio软件 3、安装nsfc包 4、abstract命令:批量查询(含摘要) 5、search命令:让查询--随心所欲 6、总结

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Chris生命科学小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档