请使用 nycflight13 回答以下问题: (1) 请用 flights 表单找出出发时间没有延误,但是到达时间有延误的所有航班。 (2) 在(1)数据的基础上计算到达每个目的地的航班数量,平均飞行距离和平均到达 延 误时间。 (3) 在(2)的基础上在一张图中画出平均到达延误时间和平均飞行距离关系的散点图 和 平滑曲线图。 (4) 用 flights 数据,然后根据 origin 和 time_hour 两个变量与 weather 表格 进行左连接。
时间: 2024-03-03 17:53:26 浏览: 220
好的,以下是使用 `nycflights13` 数据集回答你的问题的R代码:
```R
# 加载所需的包和数据集
library(nycflights13)
library(dplyr)
library(ggplot2)
# (1) 找出出发时间没有延误,但是到达时间有延误的所有航班
delayed_arrivals <- flights %>%
filter(dep_delay == 0 & arr_delay > 0)
# (2) 计算到达每个目的地的航班数量,平均飞行距离和平均到达延误时间
delayed_arrivals_summary <- delayed_arrivals %>%
group_by(dest) %>%
summarize(num_flights = n(),
avg_distance = mean(distance),
avg_arr_delay = mean(arr_delay))
# (3) 画出平均到达延误时间和平均飞行距离关系的散点图和平滑曲线图
ggplot(delayed_arrivals_summary, aes(x = avg_distance, y = avg_arr_delay)) +
geom_point() +
geom_smooth(method = "lm") +
labs(title = "Avg Arrival Delay vs. Avg Distance",
x = "Average Distance",
y = "Average Arrival Delay")
# (4) 使用左连接将 flights 数据与 weather 表格连接起来
flights_weather <- left_join(flights, weather, by = c("origin", "time_hour"))
```
以上代码中,我们使用 `dplyr` 包中的函数来实现数据的筛选和处理,使用 `ggplot2` 包来绘制图表。在第一问中,我们使用 `filter()` 函数找出符合条件的航班;在第二问中,我们使用 `group_by()` 和 `summarize()` 函数计算每个目的地的航班数量、平均飞行距离和平均到达延误时间;在第三问中,我们使用 `ggplot()` 函数和 `geom_point()`、`geom_smooth()` 函数来绘制散点图和平滑曲线图;在第四问中,我们使用 `left_join()` 函数将两个数据集连接起来。
希望这些代码可以帮助你回答问题!
阅读全文