簡體   English   中英

繪制R中的分組概率

[英]Plotting grouped probabilities in R

我是R的新手,正在嘗試按一天的小時數繪制航班延誤的概率圖。 航班延誤的概率將使用1和0的“ Delays”列來計算。

這就是我所擁有的。 我試圖將自定義函數放入fun.y,但似乎不被允許。

library(ggplot2)    
ggplot(data = flights, aes(flights$HourOfDay, flights$ArrDelay)) + 
           stat_summary(fun.y = (sum(flights$Delay)/no_na_flights), geom = "bar") + 
           scale_x_discrete(limits=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)) +
           ylim(0,500)

最好的方法是什么? 提前致謝。

我不確定這是否是您想要的,但是我通過以下方式做到了:

library(ggplot2)    
library(dplyr)
library(nycflights13)

probs <- flights %>%
  # Testing whether a delay occurred for departure or arrival
  mutate(Delay = dep_delay > 0 | arr_delay > 0) %>%
  # Grouping the data by hour
  group_by(hour) %>%
  # Calculating the proportion of delays for each hour
  summarize(Prob_Delay = sum(Delay, na.rm = TRUE) / n()) %>%
  ungroup()

theme_set(theme_bw())
ggplot(probs) +
  aes(x = hour,
      y = Prob_Delay) +
  geom_bar(stat = "identity") +
  scale_x_continuous(breaks = 0:24)

給出以下圖: 結果圖

我認為最好在ggplot之外進行數據處理,例如使用dplyr。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM