我有一个如下所示的数据框:
COLA COLB COLC
A nb 1
A nc 0.8
A bc 0.7
A nb 0.7 <------------
B nb 1
B nc 0.3 <------------
B nc 0.8
B aa 0.9
我想通过COLA唯一ID删除COLB中的重复项,并保留COLC中该副本的最大值。
所以我希望最终结果看起来像这样(指向我想在上一表中删除的行):
COLA COLB COLC
A nb 1
A nc 0.8
A bc 0.7
B nb 1
B nc 0.8
B aa 0.9
答案 0 :(得分:1)
我们可以使用dplyr
。在arrange
&#39; COLA&#34;以及&#39; COLC&#39;后,我们按照COLA&#39;&#39; COLB&#39;进行分组。并获得slice
的第一行。
library(dplyr)
df1 %>%
arrange(COLA, desc(COLC)) %>%
group_by(COLA, COLB) %>%
slice(1L)