我有几个项目的群集数据,这些数据也有与之关联的等级。群集和排名数据框如下所示:

   clus   rank
A    1    1
B    1    3
C    1    5
D    2    4
E    2    6
F    3    9
G    3    8
H    3    7


我只想获取每个集群中的名字和排名,但是每个集群中仅该单个项目,以便得到:

A    1
D    4
F    9


我可以使用一些for循环来做到这一点,但是必须有更好的方法。建议表示赞赏。

最佳答案

你可以做:

df[!duplicated(df$clus), "rank", drop = FALSE]
#  rank
#A    1
#D    4
#F    9


df[!duplicated(df$clus),]如果要保留所有列。

当然,可以在dplyr和data.table中完成相同的方法。

07-24 14:39
查看更多