我的数据框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
其中Name1 == Name2
。
所以逻辑是检查是否Name1 == Name2,记住该行的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()
也许?
我可以看到如何为Name1 == Name2的行在Group列中添加Name1值,但是如何为所有匹配的ID滚动备份?
我得到一个错误说“组长度为零,但数据长度是> 0“ – brno792 2014-09-26 20:48:55