【发布时间】:2021-11-15 17:03:04
【问题描述】:
我正在使用航班数据集。我尝试计算不同机场(始发地)的平均到达和离开延迟。 我用聚合函数试了一下:
average_delay <- aggregate(cbind(arr_delay,dep_delay) ~ origin, FUN = mean, data = flights)
print(average_delay, digits = 3)
之后我也用 tidyverse 进行了尝试:
library(tidyverse)
average_delay_tidy = flights %>%
group_by(origin) %>%
summarise(arr_delay = mean(arr_delay, na.rm = TRUE),
dep_delay = mean(dep_delay, na.rm = TRUE)) %>%
mutate_if(is.numeric, round, digits = 3) %>%
print
但是我得到了不同的输出:
聚合:
|origin|arr_delay |dep_delay |
:------|:--------:|:--------:|
|EWR | 9.56 | **15.0** |
|JFK | 5.85 | **12.0** |
|LGA | 6.11 | 10.3 |
Tidyverse:
<chr> <dbl> <dbl>
|origin|arr_delay |dep_delay |
:------|:--------:|:--------:|
|EWR | 9.56 | **15.1** |
|JFK | 5.85 | **12.1** |
|LGA | 6.11 | 10.3 |
de差别很小,但是,我不明白怎么可能? 有人可以向我解释为什么这些输出不同吗? 是因为 NA 值吗?
提前致谢!
【问题讨论】:
标签: r aggregate tidyverse mean