根据中位数删除特定的重复行

Ale*_*sen 0 r duplicates median dataframe

我目前有一个数据框,看起来像这样:

        result 1    result 2    result 3    median 
item 1    8             7           6         7 
item 5    1             2           3         2 
item 1    6             5           4         5
item 5    3             4           5         4 
Run Code Online (Sandbox Code Playgroud)

我想根据中位数删除重复项,在其中我想将重复项保留为较高的中位数。问题在于行名(项目1等)不是它们自己的列,因此$操作无法访问。

我该怎么做?提前致谢。

Sot*_*tos 5

您可以简单地order减少并删除重复项,即

df <- df[order(df$median, decreasing = TRUE),]
df[!duplicated(df$row),]
Run Code Online (Sandbox Code Playgroud)

这使,

    row result1 result2 result3 median
1 item1       8       7       6      7
4 item5       3       4       5      4
Run Code Online (Sandbox Code Playgroud)