r - 过滤问题 i R,删除重复值并仅保留最小值
问题描述
我正在尝试在 R 中使用数据库并且需要添加一些过滤器。在选定的路线上,您必须换乘巴士才能到达最终目的地。我已经过滤了这些路由,但我需要删除重复值并保留最小值。所以我可以看到所选目的地有多少班次。
当前过滤器代码:
filterroutes <- c("5", "10")
busroutes <- database %>% filter(Route %in% filterroutes)
路由 5 和 10 过滤后的表
Route Time NDepartures
5 2 1
5 3 1
5 3 1
5 4 1
5 5 1
10 1 1
10 3 3
10 4 2
10 6 1
10 7 2
我想保留具有唯一时间戳的路线,如果重复,请保留具有最小时间戳的路线NDepartures
。
应该返回
Route Time NDepartures
5 2 1
5 3 1
5 3 1
5 4 1
5 5 1
10 1 1
10 6 1
10 7 2
有人告诉我我可以使用 aNDepartures == min(NDepartures)
但我无法让它工作。
解决方案
library(dplyr)
busroutes %>%
group_by(Time) %>%
#n() equals # of obs in each group "Time"
filter(n()==1 | (n()>1 & NDepartures==min(NDepartures))) %>%
ungroup()
# A tibble: 8 x 3
# Groups: Time [7]
Route Time NDepartures
<int> <int> <int>
1 5 2 1
2 5 3 1
3 5 3 1
4 5 4 1
5 5 5 1
6 10 1 1
7 10 6 1
8 10 7 2
推荐阅读
- unit-testing - 带有弹出控制器的 ionic 5 单元测试
- javascript - 主机名/IP 与证书的替代名称 Node.js 不匹配
- deep-learning - 我正在尝试使用此基于 mtcnn 的代码进行人脸检测它是正确的,但它不会工作
- javascript - Jquery检查父母复选框
- sql - 加入多个表并从最近的表中选择结果
- python - 更新后使用 pip (SSL WRONG_VERSION_NUMBER) 时出错
- sql-server - Terraform 未检测到导入的 Azure SQL Server administrator_login_password
- reactjs - 如何显示一个数组,其中数组中的每个对象都是 ReactJS 中的新对象
- javascript - import.meta.url 在 mocha 测试中给出错误“意外令牌”
- javascript - X轴标签上的Chart Js点击事件