do包是我提交到CRAN的一个包,全称是data operator,数据操作者。
写do包的目的是为了能够更方便的对数据框和矩阵进行操作,所以do包中大部分命令都是支持数据框和矩阵,当然同时支持向量、数字、字符串等一些简单的数据类型,但是不支持列表list和数组array,主要是因为我平时对于list和array操作的比较少。
今天,先介绍do包中的第1组命令:左截取left、右截取right、中间截取mid。
这3个命令其实完全是为了实现excel中的这3个函数,所以,大家应该都会比较熟悉,但是也有亮点,在文末。
1、安装do包
install.packages('do')
2、调用do包
library(do)
3、左截取
左截取的命令是left,整个命令里面有2个参数,即截取谁,截多长。
①截取abc前2个字符
left("abc",2)
②截取123前2个字符
left(123,2)
③截取abc和123前2个字符
④截取整个数据框或者矩阵的前2个字符
df = data.frame(a=c(123,254,456),
b=c("abcd","dfg","dgh"))
df
left(df,2)
4、右截取
右截取的命令是rihgt,和左截取left命令使用完全一样,也有2个参数,即截取谁,截多长。这里不再举例。
5、中间截取
中间截取的命令是mid,有3个参数,截取谁,从哪里截,截多长。
①截取abc,从第2个字符开始,截取2个字符长度
mid("abc",2,2)
②截取123,从第2个字符开始,截取1个字符长度
mid(123,2,1)
③截取abc和123,从第2个字符开始,截取1个字符长度
④截取整个数据框或者矩阵,从第2个字符开始,截取1个字符长度
df = data.frame(a=c(123,254,456),
b=c("abcd","dfg","dgh"))
df
mid(df,2,1)
这就完了?太简单了吧!
当然没有,mid函数中,第三个参数:截取的长度,都是向右截取,那么如何反向截取,向左截呢?
比如:从第2个字符开始,向左截取2个字符长度:那就把截取的长度改成负数即可。
mid(df,2,-2)
总结:左截取、右截取、中间截取对于字符串、数字、向量、数据框、矩阵都使用,并且使用方法都一样,mid函数具有反向截取的功能。
One More Thing......
课程目录 1、简介 2、安装R语言及Rstudio软件 3、安装nsfc包 4、abstract命令:批量查询(含摘要) 5、search命令:让查询--随心所欲 6、总结