首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将“3letters+4digits”这样的变量按“3letters+1+2+4位数”分组?

如何将“3letters+4digits”这样的变量按“3letters+1+2+4位数”分组?
EN

Stack Overflow用户
提问于 2015-06-30 07:36:00
回答 2查看 38关注 0票数 1

我想把'BLA2501‘和'BLA2561’这样的字符串重命名为‘BLA251 251’。换句话说,我的dataframe中有一个变量,它的值如下

代码语言:javascript
复制
  'BLA2501', 
  'BLA2521'.
  'BLA3601',
  'BLA5501'.

我想本地化这些值,并按“BLA+1位+2位+最后一位数”对它们进行分组。

例如

代码语言:javascript
复制
  'BLA2501' and 'BLA2521' have to be renamed as 'BLA251', 
  'BLA3601' will be 'BLA361' 
   ...

我试过

代码语言:javascript
复制
  data$var<-sub('^BLA(\\d)(\\d)(\\d)(\\d).*', 'BLA\\1\\2\\4', data$var)

但不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-30 07:46:19

只需从最后删除第二个号码。

代码语言:javascript
复制
sub("\\d(\\d)$", "\\1", s)

代码语言:javascript
复制
sub("^(BLA\\d{2})\\d(\\d)", "\\1\\2", s)
票数 4
EN

Stack Overflow用户

发布于 2015-06-30 07:45:14

代码语言:javascript
复制
x<-"bla2501"
paste0(substr(x,1,5),substr(x,7,7))

这就行了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31132289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档