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 的总到达迟到时间和 总飞行距离
时间: 2023-12-06 10:39:33 浏览: 51
anyflights:R包可生成类似nycflights13的航空旅行数据:small_airplane:
首先,需要安装 `nycflights13` 包并加载相关库:
```R
install.packages("nycflights13")
library(nycflights13)
library(dplyr)
```
接下来,将 `flights` 和 `planes` 表格进行连接,并命名为 `flights_planes`:
```R
flights_planes <- flights %>%
left_join(planes, by = "tailnum")
```
然后,选取 `tailnum` 中含有字母”W”的观测值,并将选取出来的数据框保存为新的 `flights_planes`:
```R
flights_planes <- flights_planes %>%
filter(str_detect(tailnum, "W"))
```
接着,剔除 `flights_planes` 中 `engines` 和 `seats` 缺失的观测值,并按照 `engines` 和 `seats` 分组,计算各组飞机在 2013 年的 `distance` 和 `arrive_delay` 的总和,结果保存为新的数据框 `flights_sum`:
```R
flights_sum <- flights_planes %>%
filter(!is.na(engines) & !is.na(seats)) %>%
group_by(engines, seats) %>%
summarise(total_distance = sum(distance, na.rm = TRUE),
total_arrive_delay = sum(arr_delay, na.rm = TRUE))
```
最后,利用上一问所得的 `flights_sum`,计算不同 `engines` 的总到达迟到时间和总飞行距离:
```R
flights_sum_engines <- flights_sum %>%
group_by(engines) %>%
summarise(total_distance = sum(total_distance, na.rm = TRUE),
total_arrive_delay = sum(total_arrive_delay, na.rm = TRUE))
```
结果如下:
```
# A tibble: 3 x 3
engines total_distance total_arrive_delay
<int> <dbl> <dbl>
1 2 9842136. 231938.
2 4 8644964. 190765.
3 6 592827. 10569.
```
阅读全文