计算JFK至SEA航班平均起飞延误时间返回NA值的问题求助
问题原因与解决方法
- 核心原因:
nycflights13的flights数据集中,dep_delay列存在缺失值(NA),而R原生的mean()函数默认只要输入包含NA就会返回NA,这就是你得到NA结果的直接原因。 - 验证缺失值:可以先统计JFK到SEA航班中
dep_delay的缺失数量,确认问题:
flights %>% filter(origin == "JFK" & dest == "SEA") %>% summarise(缺失值数量 = sum(is.na(dep_delay)))
- 修正后的代码:在
mean()函数中添加na.rm = TRUE参数,忽略缺失值计算有效航班的平均延误时间:
library(tidyverse) library(nycflights13) flights %>% filter(origin == "JFK" & dest == "SEA") %>% summarise(meandelay = mean(dep_delay, na.rm = TRUE))
- 补充说明:
dep_delay的缺失值一般对应航班取消或延误信息未记录的情况,忽略这些值后,得到的就是实际完成起飞的航班的平均延误时间。
内容的提问来源于stack exchange,提问作者Shayan Rahim
相关产品推荐
相关产品推荐

