首页 > 解决方案 > 与其他列中最多 2 个唯一其他值相关的子集列值

问题描述

PRODUCT           PCODE           X1          X2
A                 123             1           3           
B                 123             3           5           
A                 456             4           7           
A                 789             5           8           
B                 345             9           1           
C                 012             74          2           
D                 472             76          2           
B                 567             2           9           
E                 123             4           5           
D                 263             2           4           
D                 263             2           7          

数据框名称 = 测试集

嗨,我有以下数据集。我想做的是 PRODUCT 列中的子集值,在 PCODE 中只有 <=2 唯一值。因此,最终结果将是:

PRODUCT
C
D
E

由于 C 只有一个唯一值 (012),D 有两个 (472, 263),E 有一个 (123)。如果你能帮助我,那就太好了。我用 dplyr 尝试了不同的东西,但我不知道它是如何工作的..

亲切的问候,迪德里克

标签: rduplicatesextract

解决方案


dplyr

data %>% 
  group_by(PRODUCT) %>%
  filter(n_distinct(PCODE) <= 2)

要在该结果中只获得独特的产品,就像在您的最终结果中一样,请在最后添加%>% distinct(PRODUCT)


推荐阅读