如果数据框中的某些列共享一个公共前缀,我该如何找到这样的公共前缀?
注意:此处的前缀表示任何数字出现之前的最长子字符串。
数据集可能如下所示:
Date,vix1,vix2,vix3,doSG124,doSG220
在这种情况下,我想获得vix
而不是doSG
,因为更多列(3)有vix
作为前缀。
答案 0 :(得分:2)
您可以在删除'后缀后尝试table
和which.max
。部分sub
。在这里,我假设后缀是数字部分。
tbl <- table(sub('\\d+$', '', v1))
names(which.max(tbl))
#[1] "vix"
使用sub
,我们将数字部分(\\d+
)与字符串末尾($
)匹配,并将其替换为''
v1 <- c('Date', 'vix1', 'vix2', 'vix3', 'doSG124', 'doSG220')