如果数据框中的某些列共享一个常见的前缀,则如何找到这样的常见前缀?
注意:这里的前缀是指显示任何数字之前最长的子字符串。
数据集可能看起来像:
Date,vix1,vix2,vix3,doSG124,doSG220
在这种情况下,我想获得vix
而不是doSG
,因为更多的列(3)将vix
作为前缀。
使用sub
删除'后缀'部分后,您可以尝试table
和which.max
。在这里,我认为后缀是数字部分。
tbl <- table(sub('\d+$', '', v1))
names(which.max(tbl))
#[1] "vix"
通过使用sub
,我们将数字零件(\d+
)匹配到字符串的末端($
),然后用''
数据
v1 <- c('Date', 'vix1', 'vix2', 'vix3', 'doSG124', 'doSG220')