全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1846 2
2016-09-14
各位,我想要从第一个数据中提取出所有中括号里的字符,该怎么提取?数据量比较大,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

二维码

扫码加我 拉你入群

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

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

全部回复
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是你的字母向量
二维码

扫码加我 拉你入群

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

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

2016-9-19 16:06:07
自己试了一个新方法,采用str_extract结合到ddply中直接就可以得到索要结果
复制代码
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群