r 用于数据科学练习 5.6.7 Q4



我正在通过Hadley的r4ds工作。我想知道为什么我找到的解决方案需要在代码中发生变化。是否可以只使用摘要?我以为它们是可以互换的?

Q4:看看每天取消的航班数量。有模式吗?取消航班的比例是否与平均延误有关?

cancelled_delayed <- 
flights %>%
mutate(cancelled = (is.na(arr_delay) | is.na(dep_delay))) %>%
group_by(year, month, day) %>%
summarise(prop_cancelled = mean(cancelled),
avg_dep_delay = mean(dep_delay, na.rm = TRUE))
ggplot(cancelled_delayed, aes(x = avg_dep_delay, prop_cancelled)) +
geom_point() +
geom_smooth()

您可以跳过突变并在摘要中执行相同的操作:

library(dplyr)
cancelled_delayed <- 
flights %>%
group_by(year, month, day) %>%
summarise(prop_cancelled = mean(is.na(arr_delay) | is.na(dep_delay)),
avg_dep_delay = mean(dep_delay, na.rm = TRUE))

但是变异和总结根本不可以互换。

mutate用于在现有表中添加更新一列或多列,同时保持常规结构(行数(与原样相同。 另一方面,summarise将行数减少到每组 1 行,即在您的示例中,每个年-月-日组合 1 行。

最新更新