我有几个项目的群集数据,这些数据也有与之关联的等级。群集和排名数据框如下所示:
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中完成相同的方法。