返回列中最常见的前缀

  • 本文关键字:前缀 常见 返回 r
  • 更新时间 :
  • 英文 :


如果数据框中的某些列共享一个常见的前缀,则如何找到这样的常见前缀?

注意:这里的前缀是指显示任何数字之前最长的子字符串。

数据集可能看起来像:

Date,vix1,vix2,vix3,doSG124,doSG220

在这种情况下,我想获得vix而不是doSG,因为更多的列(3)将vix作为前缀。

使用sub删除'后缀'部分后,您可以尝试tablewhich.max。在这里,我认为后缀是数字部分。

tbl <- table(sub('\d+$', '', v1))
names(which.max(tbl))
#[1] "vix"

通过使用sub,我们将数字零件(\d+)匹配到字符串的末端($),然后用''

替换它

数据

 v1 <- c('Date', 'vix1', 'vix2', 'vix3', 'doSG124', 'doSG220')

最新更新