【发布时间】:2014-09-26 19:42:54
【问题描述】:
我的数据框 DF 看起来像:
ID Name1 Name2 Group
1234 A1 x
1234 A4 w
1234 A3 q
1234 A A
1234 A2 z
5678 B3 s
5678 B B
...
我需要为Group 添加一个列,即Name1,每个ID 与ID 所在行中的ID 匹配。
因此逻辑是检查 Name1 == Name2,记住该 Row 的 ID 和 Name1 值,然后对于具有该 ID 的每一行,将 Name1 值放入 Group 列的每一行。
结果应该是这样的:
ID Name1 Name2 Group
1234 A1 x A
1234 A4 w A
1234 A3 q A
1234 A A A
1234 A2 z A
5678 B3 s B
5678 B B B
...
我不确定如何在数据框中执行此操作,以及从许多具有不同 ID 的行中执行此操作。我不想使用循环。
mutate() 或 lapply() 可能吗?
我可以看到如何在 Group 列中为 Name1==Name2 的行添加 Name1 值,但是如何为所有匹配的 ID 回滚该值?
【问题讨论】: