2017-10-04 68 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))