在 R 中查找尾随数字

Finding the trailing numbers in R

我有一个包含 2 列的数据框

<string> <count>

例如:

qwerty 24
1qwerty 21
123456 20
qwerty123 12
abc123 10
xyz223 1
test223 2
test@123 11
xyz@123 10

我想制作一个结构为

的数据框
<suffix> <count>

后缀将包含尾随数字或后跟数字的符号。任何仅包含数字的字符串的后缀将为 NA(在此示例中 "qwerty"、“123456”和“1qwerty”将为 NA)

计数将是具有该类型后缀的第一个数据框中所有计数的总和

即。该示例所需的输出为

NA 65
123 22
@123 21
223 3

你可以试试:

tapply(df$count, gsub("^\d.*|[A-Za-z]", "", df$string), sum)

     @123  123  223 
  65   21   22    3