【发布时间】:2019-12-04 20:23:17
【问题描述】:
我正在一家公司处理几组数据,其中某些团队编写项目代码的方式与其他团队略有不同。
例如,A 组使用 5 字符项目代码 C106A,而 B 组使用 HD-01C106A00 等长代码。注意匹配的字符。
我要做的是将所有这些项目数据组合在一起,数据清理的关键步骤是修复这些代码,以便我可以按它们进行分组。我有一个包含所有长代码的库,因为 B 组对它们有更多的规定,所以我可以依靠他们的数据。
我想让我的代码使用 A 组数据中的字符串在 B 组的库中执行搜索,当它找到 B 组中的匹配集时,替换 A 组数据中的值。我一直在玩 Stringr 的 str_detect 命令,我似乎无法让它工作。
A组项目代码部分:
Project.Code
C106A
C117A
C254A
C342A
C365A
C371A
C391A
C397A
C397B
C397C
C399A
C400A
C404A
C405A
C414A
C417A
B 组图书馆的一部分:
Project.Code
HP-C3651001
HP-C3651003
HP-C3651009
HP-C3651P00
HP-C365A000
HP-C365B000
HP-C3421001
HP-C3421002
HP-C3421003
HP-C3421P00
HP-C342A000
HP-C1061001
HP-C1061011
HP-C1061013
HP-C1061016
HP-C1061P00
HP-C106A000
这样的事情是有意义且有效的:
str_detect(GroupA$Project.Code,"C365A")
但我似乎不能这样做:
str_detect(GroupA$Project.Code,GroupB$Project.Code)
【问题讨论】: