我正在使用一個航班的資料集。我試圖計算不同機場(出發地)的平均到達和出發延遲。 我試著用聚合函式來計算:
average_delay < -聚合(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, 數字= 3) %> %
列印
但是我得到了不同的輸出結果:
集合:|origin|arr_delay |dep_delay |
: ---- --|。 --------。 |。 --------。 |
|EWR | 9.56 | **15。 0** |
|JFK | 5.85 | **12。 0** |
|LGA | 6.11 | 10.3 |
Tidyverse:
</span>chr> <dbl> <dbl>
|origin|arr_delay |dep_delay |
: ---- --|。 --------。 |。 --------。 |
|EWR | 9.56 | **15。 1** |
|JFK | 5.85 | **12. 1** |
|LGA | 6.11 | 10.3 |
差別很小,然而,我不明白這怎么可能? 誰能向我解釋一下為什么這些輸出是不同的? 是由于NA值的緣故嗎?
預先感謝!
uj5u.com熱心網友回復:
差別很小,似乎與四舍五入有關,因為tibble為顯示做了一些列印格式,但是在aggregate中,如果有NA,指定na.action引數,默認是na.omit,即如果行中有一個NA元素,它將完全洗掉該行。 把它改為NULL
aggregate(cbind(arr_delay, dep_delay) ~ origin, FUN = mean,
na.rm = TRUE,/span> data = flights,/span>
na.action = NULL)
輸出
origin arr_delay dep_delay
1 EWR 9.107055 15.10795
2 肯尼迪機場 5.551481 12.11216
3 LGA 5.783488 10.34688[/span
要確認是否有NA元素
colSums( is. na(flights[is. built_in">c('arr_delay'/span>。 'dep_delay')]))
暫停時間 暫停時間
9430 8255
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/334052.html
標籤:
上一篇:ggplot2中的餅圖和百分比
