首页 > 解决方案 > 识别R中排名的不同列中的关系

问题描述

我正在与 R 合作。

我有一组看起来像这样的数据。

principal    percentage     ranked
love            25            1
love            25            2
love            22            3
love            21            4
love            20            5
table           30            1
table           20            2
table           19            3
table           18            4
table           5             5

所以,我需要知道排名中第 1 位和第 2 位的单词是否在百分比列中并列。

例如,我想要这样的输出。

principal    tie
love         TRUE
table        FALSE

谢谢。

标签: rrank

解决方案


更新:感谢 akrun_master 的宝贵评论!移除ifelse

library(dplyr)

# helper function to coalesce by column
coalesce_by_column <- function(df) {
  return(coalesce(df[1], df[2]))
}

            
df %>% 
  group_by(principal) %>% 
  mutate(ties = percentage[1] == percentage[2], TRUE, FALSE) %>% 
  summarise(Comments = coalesce_by_column(ties))

输出:

  principal Comments
  <chr>     <lgl>   
1 love      TRUE    
2 table     FALSE   

推荐阅读