使用R在组中创建具有条件的新数据框 - 空宝网


使用R在组中创建具有条件的新数据框

我需要一些使用r数据帧的帮助。这是数据框:

group col1 col2 name
1 dog 40 canidae
1 dog 40 canidae
1 dog 40 canidae
1 dog 40 canidae
1 dog 40
1 dog 40 canidae
1 dog 40 canidae
2 frog 85 dendrobatidae
2 frog 89 leptodactylidae
2 frog 89 leptodactylidae
2 frog 82 leptodactylidae
2 frog 89
2 frog 81
2 frog 89 dendrobatidae
3 horse 87 equidae1
3 donkey 76 equidae2
3 zebra 67 equidae3
4 bird 54 psittacidae
4 bird 56
4 bird 34
我想要的是添加一个列“consensus_name”获取:

group col1 col2 name consensus_name
1 dog 40 canidae canidae
1 dog 40 canidae canidae
1 dog 40 canidae
1 dog 40 canidae canidae
1 dog 40 canidae canidae
2 frog 85 dendrobatidae leptodactylidae
2 frog 89 leptodactylidae leptodactylidae
2 frog 89 leptodactylidae leptodactylidae
2 frog 82 leptodactylidae leptodactylidae
2 frog 89 leptodactylidae
2 frog 81 leptodactylidae
2 frog 89 dendrobatidae leptodactylidae
3 horse 87 equidae1 equidae3
3 donkey76 equidae2 equidae3
3 zebra 67 equidae3 equidae3
4 bird 54 psittacidae psittacidae
4 bird 56 psittacidae
4 bird 34 psittacidae
为了获得每个组的新列,我得到了最具代表性的组名。

因为group1有4行有名称’canidae’,有一行没有,所以对于我’canidae’在列中写的每一行consensus_name

对于group2有2行的名称’dendrobatidae’,2行没有任何东西和3行的名称,’leptodactylidae’因此对于我leptodactylidae’在列中写的每一行consensus_name。

因为group3有3行具有不同的名称,所以因为没有达成共识,我得到的名称是最低的col1数字,所以我写’equidae3’在列中consensus_name。

对于groupe 4只有一行有一个信息,所以它是的共识名group4,所以我写psittacidae在专栏中consensus_name。


喜欢 (0)
[请支持作者一杯咖啡,谢谢]
分享 (0)


您必须 登录 才能发表评论!