楼主: JLOGAN
1878 2

[学习分享] R提取字符 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
24 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2830 点
帖子
87
精华
0
在线时间
97 小时
注册时间
2016-5-28
最后登录
2018-8-4

楼主
JLOGAN 发表于 2016-9-14 11:34:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位,我想要从第一个数据中提取出所有中括号里的字符,该怎么提取?数据量比较大,gsub,subset试过没有成功,求指教,谢谢!

1

[A][B][C]DEF

2

[A][B][C][D]EF

3

[A][B][C]DEF

4

[A][B][C]DEFWD

5

[A][B][C]DEF

6

[A][B]DEFGUKH

7

[A][B][C]DEFEE

8

[A][B][C]DEFFGWEG

9

[B][C]DEFERR

10

[A][B][C]DEF

11

[A][B][C]DEF
得到

1

ABC

2

ABCD

3

ABC

4

ABC

5

ABC

6

AB

7

ABC

8

ABC

9

BC

10

ABC

11

ABC

二维码

扫码加我 拉你入群

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

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

关键词:Subset defer subs FERR ABCD

回帖推荐

yangming98 发表于2楼  查看完整内容

先建立函数: extractABC=function(vectorL){ ExABC=function(L){ require(stringr) vectorL2=str_extract(L,'(\\[[A-Z]\\])+') vectorL3=str_replace_all(vectorL2,'\\]|\\[','') names(vectorL3)=NULL return(vectorL3) } result=sapply(vectorL,ExABC) names(result)=NULL return(result) } 再运行代码: extractABC(x)##x是你的字母向量

沙发
yangming98 发表于 2016-9-14 17:07:57
先建立函数:
extractABC=function(vectorL){
ExABC=function(L){
  require(stringr)
  vectorL2=str_extract(L,'(\\[[A-Z]\\])+')
  vectorL3=str_replace_all(vectorL2,'\\]|\\[','')
  names(vectorL3)=NULL
  return(vectorL3)
}
result=sapply(vectorL,ExABC)
names(result)=NULL
return(result)
}
再运行代码:
extractABC(x)##x是你的字母向量
已有 3 人评分经验 学术水平 热心指数 信用等级 收起 理由
李会超 + 60 精彩帖子
pkl + 3 + 3 + 2 精彩帖子
JLOGAN + 1 精彩帖子

总评分: 经验 + 60  学术水平 + 4  热心指数 + 3  信用等级 + 2   查看全部评分

藤椅
JLOGAN 发表于 2016-9-19 16:06:07
自己试了一个新方法,采用str_extract结合到ddply中直接就可以得到索要结果
  1. ddply(x,.(id),summarise,result=str_extract())
复制代码

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

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