在r语言中,在flights中,#按tailnum分组,去除arr_delay,dep_delay,tailnum的NA值。找出所有的好飞机, 即该飞机组对应的数据表的所有行均满足arr_delay<200且dep_delay<200。按字母顺序,由小至大。然后计算每架飞机arr_delay<120且dep_delay<120的行数占该组总行数的比例。结果为两列,tailnum和prop
时间: 2024-02-01 21:14:16 浏览: 28
以下是代码实现:
```R
library(dplyr)
# 读取数据
flights <- read.csv("flights.csv")
# 按tailnum分组,去除arr_delay,dep_delay,tailnum的NA值
flights_grouped <- flights %>%
group_by(tailnum) %>%
filter(!is.na(tailnum) & !is.na(arr_delay) & !is.na(dep_delay))
# 找出所有的好飞机
good_planes <- flights_grouped %>%
group_by(tailnum) %>%
filter(all(arr_delay < 200 & dep_delay < 200)) %>%
select(tailnum) %>%
distinct() %>%
arrange(tailnum)
# 计算每架飞机arr_delay<120且dep_delay<120的行数占该组总行数的比例
prop <- flights_grouped %>%
group_by(tailnum) %>%
summarize(prop = mean(arr_delay < 120 & dep_delay < 120)) %>%
inner_join(good_planes, by = "tailnum") %>%
arrange(tailnum)
# 结果输出
prop
```
结果为两列,tailnum和prop。其中,tailnum为飞机号码,prop为arr_delay<120且dep_delay<120的行数占该组总行数的比例。按字母顺序,由小至大排列。