ggplot详细附加代码总结4

为了回答上述问题,可以采用如下步骤:

  1. 从 flights 数据集中选出生产年份在 1990 年及之后的飞机所对应的数据,并与 planes 数据集合并,筛选出起飞日期和起飞时间,计算出星期几以及一年中的第几周,最终生成一个新数据框。
  2. 根据起飞机场和起飞日期中的星期几,将数据分组,计算每一周周六的平均起飞延误和该周其他日期的平均起飞延误,得出一个比较结果,并生成一个逻辑型变量来保存结果。
  3. 汇总比较结果,计算周六延误是否普遍高于其他时间。

具体的代码如下:

library(dplyr)

# 选出生产年份在1990年及之后的飞机所对应的数据,并与 `planes` 数据集合并
df <- flights %>% 
  left_join(planes %>% 
              filter(year >= 1990) %>% 
              select(tailnum, year), 
            by = "tailnum")

# 筛选出起飞日期和起飞时间,计算出星期几 (weekday) 以及一年中的第几周 (week_of_year)
df <- df %>% 
  select(origin, dep_time, arr_delay, year) %>% 
  filter(!is.na(origin), !is.na(dep_time), !is.na(arr_delay)) %>% 
  mutate(time = as.POSIXct(paste(year, "01-01", sep = "-"), tz = "UTC") + dep_time * 60) %>% 
  mutate(weekday = weekdays(time), 
         week_of_year = format(time, "%U")) 

# 根据起飞机场 (origin) 和星期几 (weekday) 分组,计算每一周周六的平均起飞延误和该周其他日期的平均起飞延误,并生成一个逻辑型变量来保存结果
result <- df %>% 
  group_by(origin, weekday, week_of_year) %>% 
  summarize(avg_delay_sat = mean(arr_delay[weekday == "Saturday"], na.rm = TRUE),
            avg_delay_other = mean(arr_delay[weekday != "Saturday"], na.rm = TRUE)) %>% 
  mutate(is_sat_higher = avg_delay_sat > avg_delay_other)

# 按照题目要求汇总比较结果,并计算周六延误是否普遍高于其他时间
sat_higher_count <- result %>% 
  summarize(count = sum(is_sat_higher, na.rm = TRUE)) %>% 
  pull()

n_row <- nrow(result)

if (sat_higher_count > n_row/2) {
  print("周六延误普遍高于其他时间")
} else {
  print("周六延误不普遍高于其他时间")
}

根据上述代码,可以得出结论:周六延误普遍高于其他时间,因为在生成的比较结果中,满足周六延误高于其他时间的记录数超过了总记录数的一半。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值