R语言nyc flights多变量筛选:统计仅2013年1月起飞的目的地数量
解决思路与代码实现
我们通过分组汇总逻辑完成筛选,核心判断逻辑为:单个目的地的所有航班记录月份都等于1,且存在至少1条1月有效记录。
依赖包加载
需提前安装nycflights13和dplyr包,加载代码如下:
library(nycflights13) library(dplyr)
完整实现代码
# 筛选符合要求的目的地 target_dest <- flights %>% # 按目的地字段分组 group_by(dest) %>% # 验证该目的地所有航班是否仅出现在1月 filter(all(month == 1, na.rm = TRUE)) %>% # 去重得到唯一目的地列表 distinct(dest) # 统计符合要求的目的地数量 nrow(target_dest)
结果说明
- 运行代码后
nrow(target_dest)返回值为1,即仅有1个目的地符合要求,对应目的地为LEX(肯塔基州列克星敦蓝草机场)。 - 如果需要查看该目的地的1月航班明细,可在上述代码基础上增加航班明细提取逻辑。
可选的明细统计写法
如果需要同时查看符合要求的目的地对应的1月航班数量,可使用汇总写法:
flights %>% group_by(dest) %>% summarise( min_month = min(month, na.rm = T), max_month = max(month, na.rm = T), jan_count = sum(month == 1, na.rm = T) ) %>% filter(min_month == 1, max_month == 1, jan_count > 0)
内容的提问来源于stack exchange,提问作者vilsef
相关产品推荐
相关产品推荐

