1.数据:nycflights13,如果没有请先安装包(nyctights13 (1) 将flights 和 planes 进行连接,其中,最终结果应当保存 flights 中的所有观测值并且保存 planes 中对应的观测值,并将结果命名为flights_planes (2) 选取flights_planes 中 tailnum 中含有字母”W”的观测值,并将选取出来 的数据框保存为新的 flights_planes (3)剔除flights_planes 中engines 和 seats 缺失的观测值,然后将数据按照 engines 和seats 分组,计算各组飞机在2013 年的distance 和 arrive_delay 的总和,计算结果不能为 NA,将计算结果保存为新的数据 flights_sum (4) 利用上一问所得的flights_sum,计算不同 engines 的总到达迟到时间和 总飞行距离,用r语言完成
时间: 2023-12-06 16:44:18 浏览: 76
anyflights:R包可生成类似nycflights13的航空旅行数据:small_airplane:
首先需要下载并加载 `nycflights13` 包,并读取 `flights` 和 `planes` 数据集:
```r
library(nycflights13)
data(flights)
data(planes)
```
(1) 连接 `flights` 和 `planes`,筛选出 tailnum 中含有字母 ”W“ 的观测值,并将结果保存为 `flights_planes`。
```r
flights_planes <- merge(flights, planes, by = "tailnum", all.x = TRUE)
flights_planes_w <- flights_planes[grepl("W", flights_planes$tailnum), ]
```
(2) 剔除 `flights_planes_w` 中 engines 和 seats 缺失的观测值,然后将数据按照 engines 和 seats 分组,计算各组飞机在2013 年的 distance 和 arrive_delay 的总和,计算结果不能为 NA,将计算结果保存为新的数据 `flights_sum`。
```r
flights_clean <- flights_planes_w[complete.cases(flights_planes_w$engines, flights_planes_w$seats), ]
flights_sum <- aggregate(cbind(distance, arrive_delay) ~ engines + seats, flights_clean, sum, na.rm = TRUE)
```
(3) 利用上一问所得的 `flights_sum`,计算不同 engines 的总到达迟到时间和总飞行距离。
```r
flights_sum_engines <- aggregate(cbind(distance, arrive_delay) ~ engines, flights_sum, sum)
```
最终结果 `flights_sum_engines` 将展示各种飞机引擎数量的总到达迟到时间和总飞行距离。
阅读全文