【问题标题】:Finding the trailing numbers in R在R中查找尾随数字
【发布时间】:2020-02-16 14:51:53
【问题描述】:

我有一个包含 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)

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

即。该示例所需的输出将是

NA 65
123 22
@123 21
223 3

【问题讨论】:

  • 我很难将您的预期输出与示例输入数据关联起来。你能解释得更好吗?
  • 我的样本输入的前 3 行将返回 NA 作为其后缀,它们的总数是 24+21+20,即 65 我的样本输入的接下来的 2 行将返回“123”,它们的总计数为 12+10 = 22 我的示例输入的下 2 行将返回“223”,它们的总计数为 1+2 = 3 我的示例输入的下 2 行将返回“@123”。他们的总数是 11+10 对不起,我是新来的这个可怕的解释

标签: r regex trailing


【解决方案1】:

你可以试试:

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

     @123  123  223 
  65   21   22    3 

【讨论】:

  • [A-z] 不仅匹配字母。如果您要匹配字母,请使用[a-zA-Z]。
猜你喜欢
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 2020-03-02
  • 2019-09-25
  • 2017-09-03
  • 1970-01-01
  • 2012-06-27
相关资源
最近更新 更多