2017-10-04 62 views
1

我想对数据框进行归档以删除在col0中出现类似名称的行。我出现了两个或更多相似的名称,我想保留col1中具有最高值的行。根据列中的值过滤行

col0    col1  col2  col3  col4   col4   col5 
hsa-let-7a-5p 2.487304 15.04636 8.400422 1.702870e-10 1.084728e-07 13.867065 
hsa-let-7a-5p 2.491626 13.70345 7.414093 4.002913e-09 1.274928e-06 10.808433 
hsa-let-7d-5p 3.074776 11.36059 6.799401 2.977052e-08 6.321274e-06 8.887774 
hsa-miR-7d-5p 3.123776 11.84145 6.210222 2.069015e-07 3.050719e-05 7.032421 
hsa-miR-122-5p -2.521427 13.91681 -6.132486 2.673240e-07 3.050719e-05 6.703794 
hsa-miR-122-5p 2.602304 11.53867 6.083099 3.145797e-07 3.050719e-05 6.636385 

在我的例子中,我想保留row2,row4和row6。 功能的任何提示?

+0

你有矩阵吗?数据帧为 – akrun

+0

。对不起 – user2300940

+1

data.frame不能有重复的行名称 – akrun

回答

1

假设它是data.frame,那么它不能有重复的行名称。所以,要么它必须是matrix,要么它可能是data.frame的第一列。通过假设,按第一列分组,即'col0',slice'col1'中具有最大值的行

library(dplyr) 
df1 %>% 
    group_by(col0) %>% 
    slice(which.max(col1))