楼主: admonzhang
12209 4

[学习分享] (转)用stringr包处理字符串 [推广有奖]

  • 0关注
  • 6粉丝

已卖:319份资源

讲师

38%

还不是VIP/贵宾

-

威望
0
论坛币
1113 个
通用积分
3.5896
学术水平
1 点
热心指数
3 点
信用等级
0 点
经验
5935 点
帖子
328
精华
0
在线时间
196 小时
注册时间
2012-11-19
最后登录
2019-5-28

楼主
admonzhang 发表于 2013-4-26 14:57:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

《Machine Learning for Hackers》一书的合著者John Myles White近日接受了一个访谈。在访谈中他提到了自己在R中常用的几个扩展包,其中包括用ggplot2包来绘图,用glmnet包做回归,用tm包进行文本挖掘,用plyr、reshape、lubridate和stringr包进行数据预处理。这些包本博客大部分都有所介绍,今天就来看看这个遗漏的stringr包。

从名字就看得出,stringr包是用来处理字符串的。R语言本身的字符处理能力已经不错了,但使用起来并不是很方便。stringr包将原本的字符处理函数进行了打包,统一了函数名和参数。在增强功能基础上,还能处理向量化数据并兼容非字符数据。stringr包号称能让处理字符的时间减少95%。下面将其中的一些主要函数罗列一下。

library(stringr)

# 合并字符串
fruit <- c("apple","banana","pear","pinapple")
res <- str_c(1:4,fruit,sep=' ',collapse=' ')
str_c('I want to buy ',res,collapse=' ')

# 计算字符串长度
str_length(c("i","like","programming R",123,res))

# 按位置取子字符串
str_sub(fruit,1,3)
# 子字符串重新赋值
capital <-toupper(str_sub(fruit,1,1))
str_sub(fruit,rep(1,4),rep(1,4))<- capital

# 重复字符串
str_dup(fruit,c(1,2,3,4))

# 加空白
str_pad(fruit,10,"both")
# 去除空白
str_trim(fruit)

# 根据正则表达式检验是否匹配
str_detect(fruit,"a$")
str_detect(fruit,"[aeiou]")

# 找出匹配的字符串位置
str_locate(fruit,"a")

# 提取匹配的部分
str_extract(fruit,"[a-z]+")
str_match(fruit,"[a-z]+")

# 替换匹配的部分
str_replace(fruit,"[aeiou]","-")

# 分割
str_split(res," ")


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:string tring RING ING 字符串 字符串

已有 2 人评分经验 论坛币 热心指数 收起 理由
李会超 + 40 + 20 精彩帖子
ltx5151 + 20 + 1 根据规定进行奖励

总评分: 经验 + 60  论坛币 + 20  热心指数 + 1   查看全部评分

沙发
famousid 发表于 2013-4-29 11:01:23
很好,谢谢

藤椅
a524631266 在职认证  发表于 2015-2-9 16:43:31
好家伙

板凳
soccy 发表于 2016-1-17 22:23:51
确实有用处。

报纸
~蓝色の梦 发表于 2016-12-15 18:57:31
str_extract怎么找出中文?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 23:56