r - 与其他列中最多 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 尝试了不同的东西,但我不知道它是如何工作的..
亲切的问候,迪德里克
解决方案
与dplyr
:
data %>%
group_by(PRODUCT) %>%
filter(n_distinct(PCODE) <= 2)
要在该结果中只获得独特的产品,就像在您的最终结果中一样,请在最后添加%>% distinct(PRODUCT)
。
推荐阅读
- javascript - 什么被认为是测试返回 http observables 的方法的正确方法?
- python-3.x - 如何在 python 3.7 中使用 PULP 实现 LPP 功能?
- haskell - 用do创建嵌套if else语句的语法是什么
- regex - 上下文无关语法的正则表达式
- java - 最后如何修复 toArray 方法?
- animation - setState 不更新wiget UI
- angular - ngModel errors.pattern 属性在 Angular 模板中始终为 true
- python - 如何使用正则表达式(Python)匹配必须是字母、数字和斜线的单词?
- php - Laravel 私人频道未授权:错误 404
- nginx - 使用代理通行证时如何保留请求的端口?