R语言学习之处理字符串实例(1)

通过实例来学习R对字符串的处理。
用到的数据集是R自带的USArrests
查看该数据集的前几行

> head(USArrests)
           Murder Assault UrbanPop Rape
Alabama      13.2     236       58 21.2
Alaska       10.0     263       48 44.5
Arizona       8.1     294       80 31.0
Arkansas      8.8     190       50 19.5
California    9.0     276       91 40.6
Colorado      7.9     204       78 38.7

获取州的简称

> states = rownames(USArrests);head(states) #获取州的名字集合
[1] "Alabama"    "Alaska"     "Arizona"    "Arkansas"  
[5] "California" "Colorado"  
> substr(states,start = 1,stop = 4) #方法一
 [1] "Alab" "Alas" "Ariz" "Arka" "Cali" "Colo" "Conn" "Dela"
 [9] "Flor" "Geor" "Hawa" "Idah" "Illi" "Indi" "Iowa" "Kans"
[17] "Kent" "Loui" "Main" "Mary" "Mass" "Mich" "Minn" "Miss"
[25] "Miss" "Mont" "Nebr" "Neva" "New " "New " "New " "New "
[33] "Nort" "Nort" "Ohio" " Okla" "Oreg" "Penn" "Rhod" "Sout"
[41] "Sout" "Tenn" "Texa" "Utah" "Verm" "Virg" "Wash" "West"
[49] "Wisc" "Wyom"

在方法一中,使用的函数是substr(x, start, stop)
其参数x是所要操作的字符串;
参数startstop是指明起始和终止位置。
值得注意的是,该函数操作的对象是单个字符串。
例如方法一的结果是对states这个包含多个字符串的向量进行操作,其结果是states中的每个字符串被取出第1个到第4个位置区间内的字符。

> abbreviate(states,minlength = 5) #方法二
       Alabama         Alaska 
       "Alabm"        "Alask" 
       Arizona       Arkansas 
       "Arizn"        "Arkns" 
    California       Colorado 
       "Clfrn"        "Colrd" 
   Connecticut       Delaware 
       "Cnnct"        "Delwr" 
       Florida        Georgia 
       "Flord"        "Georg" 

在方法二中使用的函数是abbreviate(names.arg, minlength = 4, use.classes = TRUE, dot = FALSE, strict = FALSE, method = c("left.kept", "both.sides"), named = TRUE)
该函数的主要作用就是获得缩写,一般只需要设定前两个参数即可,如此返回结果即为通常认为的缩写。如方法二中获得结果,虽然参数minlength=4但是结果返回值并不都是字符长度为4的字符串。这和方法一有所不同。

参考文献:正则表达式及R字符串处理之终结版(Posted by yphuang on March 15, 2016)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值