我有两个数据框,如下所示。DF1 有点凌乱(如下所示)将 DF2 中的多个值合并到一列中。
DF1 编号 价值 1 1ABCD2EFGH3IJKL 2 1ABCD2EFGH3IJKL/7MLPO0OKMN8MNBV 3 3ABCD4EFGH5IJKL 4 3ABCD4EFGH5IJKL/1ABCD2EFGH3IJKL 5 7MLPO0OKMN8MNBV/9IUYT7HGFD3LKJH
DF2 编号 价值 1 1ABCD2EFGH3IJKL 2 3ABCD4EFGH5IJKL 3 6PQRS7TUVW8XYZA 4 5FGHI9XUZX1RATP 5 9AGTY6UGFW0AAUU 6 6TEYD7RARA8MHAT 7 9IUYT7HGFD3LKJH
我想在两个数据集中使用值列进行查找。这是我想要完成的。
i) 对于 DF1 中的第 1 行和第 3 行,它是在 DF2 中的简单查找。我希望代码返回那些查找的值。
ii) 对于 DF1 中的第 3 行,只有字符串的第一部分与 DF2 中的值匹配。我希望代码只返回第一部分。
iii) 对于 DF1 中的第 4 行,字符串中的两个部分都与 DF2 中的值匹配。在这种情况下,我希望保留匹配的字符串的第一部分
iv) 对于第 5 行,字符串的第二部分与 DF2 中的值匹配。我希望代码返回字符串的第二部分。
我在第一个数据集中有大约 47000 行,在第二个数据集中有超过 300,000 行,当然这两个数据集中还有其他列。我已经使用 str_split/str_match 以多种方式进行了尝试,但无法完成我想要的。每一个建议都值得赞赏。我其余的编码都在 R 中。
谢谢你