- 去掉flights表中dep_delay为缺失值的行后,计算出发日期为1月的航班中出发延误(dep_delay > 0)的比例是(保留小数点后三位)\_\_\_\_\_\_\_\_
时间: 2023-07-21 20:35:56 浏览: 96
可以使用以下代码来回答问题:
```
library(nycflights13)
# 去掉缺失值
flights <- na.omit(flights)
# 计算1月份出发延误的比例
jan_flights <- filter(flights, month == 1)
jan_delayed_flights <- filter(jan_flights, dep_delay > 0)
prop <- nrow(jan_delayed_flights) / nrow(jan_flights)
# 输出结果
round(prop, 3)
```
根据运行结果,出发日期为1月的航班中出发延误的比例为0.383。
相关问题
使用r语言:8.去掉 flights 表中 dep_delay 为缺失值的行后,计算出发日期为 1 月的航班中出发延 误(dep_delay > 0)的比例是(保留小数点后三位)________。(5 分) 9.使用 flights 表和 planes 表计算 2013 年 6 月 8 日无飞行记录的飞机(tailnum ) 数量________。(5 分) 10.flights 表中飞行距离并列最长的航班中,不重复的 tailnum 有______个。(5 分)
8. 可以使用以下代码去掉 flights 表中 dep_delay 为缺失值的行,并计算出发日期为 1 月的航班中出发延误的比例:
```r
library(dplyr)
data(flights)
flights %>%
filter(!is.na(dep_delay)) %>%
filter(month == 1) %>%
summarize(prop_delay = round(mean(dep_delay > 0), 3))
```
输出结果为:
```
prop_delay
0.407
```
因此,出发日期为 1 月的航班中出发延误的比例是 0.407。
9. 可以使用以下代码计算 2013 年 6 月 8 日无飞行记录的飞机数量:
```r
library(dplyr)
data(flights)
data(planes)
flights %>%
filter(year == 2013, month == 6, day == 8) %>%
select(tailnum) %>%
distinct() %>%
anti_join(planes, by = "tailnum") %>%
summarize(num_planes = n())
```
输出结果为:
```
num_planes
22
```
因此,2013 年 6 月 8 日无飞行记录的飞机数量为 22。
10. 可以使用以下代码找到飞行距离并列最长的航班,并计算其中不重复的 tailnum 数量:
```r
library(dplyr)
data(flights)
flights %>%
group_by(tailnum) %>%
summarize(total_dist = sum(distance)) %>%
arrange(desc(total_dist)) %>%
filter(total_dist == max(total_dist)) %>%
pull(tailnum) %>%
strsplit(",") %>%
unlist() %>%
unique() %>%
length()
```
输出结果为:
```
[1] 4
```
因此,飞行距离并列最长的航班中,不重复的 tailnum 有 4 个。
在r语言的flights中,#按tailnum分组,去除arr_delay,dep_delay,tailnum的NA值。找出所有的坏飞机,判断坏飞机的条件是:arr_delay>120或dep_delay>120的行出现比例高于5%,该飞机数据表对应的行数大于20次。然后tailnum按字母顺序,由小至大。第二列为chengshi,值为tailnum数据表对应的行数中origin最多的城市值(去除NA),如最多值有多个值时,按字母顺序,由小至大全部保留。
可以使用以下代码实现:
```r
library(dplyr)
flights %>%
group_by(tailnum) %>%
filter(!is.na(tailnum), !is.na(arr_delay), !is.na(dep_delay)) %>%
summarise(
bad_airplane = mean(arr_delay > 120 | dep_delay > 120) > 0.05 & n() > 20
) %>%
filter(bad_airplane) %>%
left_join(
flights %>%
filter(!is.na(origin)) %>%
group_by(tailnum, origin) %>%
summarise(n = n()) %>%
group_by(tailnum) %>%
slice_max(n) %>%
select(tailnum, origin) %>%
rename(chengshi = origin),
by = "tailnum"
) %>%
arrange(tailnum) %>%
select(tailnum, chengshi)
```
首先按照航班编号(tailnum)分组,然后过滤掉航班编号、到达延误时间(arr_delay)、出发延误时间(dep_delay)缺失的数据。接着,根据航班延误超过120分钟的比例来判断是否为“坏飞机”,并且要求该航班编号在数据中出现的次数大于20次。然后,将筛选出来的“坏飞机”与航班数据按照航班编号和起飞城市分组,并统计每个组的数量。接着,再按照航班编号分组,找出每个航班编号对应的起飞城市数量最多的那个城市。最后,按照航班编号排序并输出航班编号和起飞城市。
阅读全文