小编Awe*_*weq的帖子

基于两列删除重复项,在第三列保留具有较大值的一列,同时保持所有列完好无损

我有一个数据框如下:

x1    x2    x3    x4
X     A     B     4
Y     C     B     2
Z     A     C     1
X     C     B     5
Run Code Online (Sandbox Code Playgroud)

我想删除基于列 x2 和 x3 的值重复的行。x4 列中具有较大值的值将被保留。所以在这种情况下,结果将如下:

x1    x2    x3    x4
X     A     B     4
Z     A     C     1
X     C     B     5
Run Code Online (Sandbox Code Playgroud)

第二行被删除,因为对 (C, B) 出现了两次,第四行被保留,因为列 x4 上 5 > 2。

我有以下代码,似乎可以正确删除重复项,但不会将列 x1 保留在最终结果中:

result <- df%>%group_by(x2, x3)%>%summarise(x4=max(x4))

x2    x3    x4
A     B     4
A     C     1
C     B     5
Run Code Online (Sandbox Code Playgroud)

如何将所有列 x1 ... x4 保留在最终结果中?

r dataframe dplyr tidyverse

2
推荐指数
1
解决办法
1557
查看次数

标签 统计

dataframe ×1

dplyr ×1

r ×1

tidyverse ×1