r - 如何在 dplyr 中找到最小值和最大值?
问题描述
- 我知道每个人的得分总和。
- 我需要知道:一个人可以拥有的最低分数是多少。一个人可以拥有的最大分数是多少。
我试过的:
min_and_max <- dataset %>%
group_by(person) %>%
dplyr::filter(min(sum(points, na.rm = T))) %>%
distinct(person) %>%
pull()
min_and_max
我的数据集:
id person points
201 rt99 NA
201 rt99 3
201 rt99 2
202 kt 4
202 kt NA
202 kt NA
203 rr 4
203 rr NA
203 rr NA
204 jk 2
204 jk 2
204 jk NA
322 knm3 5
322 knm3 NA
322 knm3 3
343 kll2 2
343 kll2 1
343 kll2 5
344 kll NA
344 kll 7
344 kll 1
解决方案
这是 data.table 解决方案 -
dataset[, min_points := min(points, na.rm = T), by = person]
dataset[, max_points := max(points, na.rm = T), by = person]
由于我没有您的数据,因此我无法测试此代码,但它应该可以正常工作。
推荐阅读
- java - 调用 getLayoutInflater() 是否需要调用 getActivity()?
- python - (Selenium - Python) 在 webDriver 中查找两个元素之一
- php - php。向数组添加新列,但结果加倍
- pygame - 如何在pygame中偏移矩形
- sql - 如何使用proc-sql将所有元素放在一行以下
- sql - 如何在 DataGrip(Exasol 方言)上的 SQL 查询中使用变量?
- sql - VBA 代码 - 使用 SQL 按匹配列分组
- python - 通过过滤另一列“日期”来计算列中的某些值
- python - python中的sqrt和浮点数据
- dart - 重试成功后如何防止Dio报错?