识别 R 中字母数字字符串中的序列

问题描述 投票:0回答:1

我正在尝试为事务 ID 何时连续创建一个标志。由于我不会在这里讨论的原因,这些可能是一个危险信号。我遇到的问题是 ID 不标准化。有些只能是数字,有些是字母数字。我想确定供应商的交易对于 X 数量(连续多少个待定)交易是连续的情况。数据将按供应商分组,我想提取存在序列的实例的所有行和列。下面是一个非常简化的示例:

df <- read.table(text=
"Vendor        'Transaction ID'
 ACME               1
 ACME               2
 ACME               3
 JDOE               A1
 JDOE               A6
 JDOE               A10
 XYZ                B12
 XYZ                B13
 XYZ                B14", header=TRUE)

在本例中,我希望提取所有 ACME 和所有 XYZ 行的供应商和事务 ID,因为它们按顺序排列。我做了一些研究,但没有找到一种似乎适合我想做的方法。

r dataframe sequence information-extraction identify
1个回答
2
投票
df |> filter(all(diff(as.numeric(str_extract(Transaction.ID, "\\d+$"))) == 1), .by = Vendor)
© www.soinside.com 2019 - 2024. All rights reserved.