我正在寻找一种方法来创建一个新列,该列的值基于第一列中的值,在同一集群中得分最高。
目标是从这里开始:
WORD | SCORE | Cluster |
diptyqu | 19750 | 1 |
daptyqu | 8830 | 1 |
dyptiqu | 29 | 1 |
deptiqu | 2 | 1 |
parfume | 300 | 2 |
parfum | 14 | 2 |
对此:
WORD | SCORE | Cluster | Name |
diptyqu | 19750 | 1 | diptyqu |
daptyqu | 8830 | 1 | diptyqu |
dyptiqu | 29 | 1 | diptyqu |
deptiqu | 2 | 1 | diptyqu |
parfume | 300 | 2 | parfume |
parfum | 14 | 2 | parfume |
我被困住了,真的不知道该怎么做。您对执行此操作的方法有什么建议吗?
使用 dplyr
your_data %>%
group_by(cluster) %>%
mutate(Name = first(WORD))
它假定您的行已经按 SCORE 排序。如果需要,您也可以进行排序:
your_data %>%
group_by(cluster) %>%
arrange(desc(SCORE)) %>%
mutate(Name = first(WORD))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句