【发布时间】:2018-06-13 10:48:16
【问题描述】:
这个问题与here 提出的问题类似,但还有另一列在起作用。
我有两个 R 数据框:
df_1 有四列。 Name1 具有关联类型 Type1。也就是说,A1 属于 T1 类型,A4 属于 T3 类型,等等。最后一列只是名称。
ID1 Name1 Type1 Name2
1 A1 T1 B1
2 A2 T2 B2
3 A3 T1 B3_a
4 A4 T3 B4_a
我有第二个数据框,其中包含Name2 中可能出现的所有名称的列表。
df_2:
NameBank TypeBank
A1 T1
A2 T2
A3 T1
A4 T3
B1 T1
B2 T4
B3 T2
B4 T3
在 df_1 中,Name2 的字符数可能比 df_2 中 NameBank 中的关联值多。
我想在 df_2 中找到与 df_1 中的 Name2 关联的 TypeBank 值。也就是说,我希望最终的数据框看起来像这样:
ID1 Name1 Type1 Name2 Type2
1 A1 T1 B1 T1
2 A2 T2 B2 T4
3 A3 T1 B3_a T2
4 A4 T3 B4_a T3
第一个数据帧中有数万个条目,第二个数据帧有几百个条目。我怎样才能在 R 中有效地做到这一点?
【问题讨论】:
-
NameBank的所有值是否始终与Name2值的前 2 个字符匹配? -
@rosscova 好问题:不。
-
是否总是在末尾添加任何额外字符,并以下划线开头?如果是这样,下面@missuse 的答案应该有效。
-
也是一个好问题 - 我的 MWE 从外观上看有点误导人,我很抱歉!人物可以是任何东西。开头总是会包含一个匹配项:也就是说,我可以使用 B3axyzlmnop、B3ThisisaWord 或带有空格的“B3 something else”来代替 B3_a。
-
NameBank值是否总是 2 个字符长?
标签: r