Гистограмма, показывающая среднее значение каждого бина

#r #ggplot2

Вопрос:

У меня есть график плотности, показывающий количество трафика и посещений животных в разное время дня. Что я хотел бы видеть, так это количество автомобилей в разных точках на линии. Имея ограниченные навыки в r, я прочитал другие темы здесь, на сайте, и другие, но мне трудно понять, как именно я должен это делать. Как я понял до сих пор, мне нужно было бы вычислить среднее значение каждого бина на графике, и я поиграл с этим кодом, но без особого успеха:

 ggplot(speed, aes(x=time_rad, y=LENGTH)) 
    geom_point()  
    stat_summary_bin(fun = "mean",
                     geom="bar",
                     binwidth=1
                     )
 

Это код для моего графика, в который я хотел бы включить вычисления средних:

 ggplot(df, aes(x=TimeRad_enter1)) 
  geom_density(aes(color=Focal_species)) 
  geom_density(data=speed, aes(x=time_rad)) 
  labs(y="Density", x="Time of day", title="Density of visits over the day") 
  scale_x_continuous(labels =c("00:00", "07:38", "15:16", "22:56")) 
  theme(axis.text = element_text(size=16, color="black"),
        text = element_text(family="serif"),
        title = element_text(size=20),
        legend.text = element_text(size=14))
 

Это структура моих данных о скорости:

 'data.frame':   783463 obs. of  11 variables:
 $ DETECTORREF  : Factor w/ 2 levels "se-lm-lv108n-viltbokeberg2",..: 1 2 2 2 2 2 2 2 2 1 ...
 $ DETECTORNUM  : int  1 1 1 1 1 1 1 1 1 1 ...
 $ SOURCE_DATE  : Date, format: "2020-07-08" "2020-07-08" ...
 $ SOURCE_TIME  : chr  "12:11:07" "12:11:12" "12:11:15" "12:11:16" ...
 $ RECEIVED_DATE: Date, format: "2020-07-08" "2020-07-08" ...
 $ RECEIVED_TIME:Formal class 'Period' [package "lubridate"] with 6 slots
  .. ..@ .Data : num  7 12 15 16 18 20 29 51 54 2 ...
  .. ..@ year  : num  0 0 0 0 0 0 0 0 0 0 ...
  .. ..@ month : num  0 0 0 0 0 0 0 0 0 0 ...
  .. ..@ day   : num  0 0 0 0 0 0 0 0 0 0 ...
  .. ..@ hour  : num  12 12 12 12 12 12 12 12 12 12 ...
  .. ..@ minute: num  11 11 11 11 11 11 11 11 11 12 ...
 $ SPEED        : num  87 74 75 74 75 75 78 78 77 75 ...
 $ LENGTH       : num  460 1400 1400 1400 1400 1400 560 560 560 460 ...
 $ DIRECTION    : int  0 0 0 0 0 0 0 0 0 0 ...
 $ DateTime     : POSIXct, format: "2020-07-08 12:11:07" "2020-07-08 12:11:12" ...
 $ time_rad     : num  3.19 3.19 3.19 3.19 3.19 ...
 

Вот как выглядит график:

на графике, который у меня еще есть, черная линия представляет транспортные средства

Было бы полезно иметь ось справа, показывающую среднее значение суммы.

Вы можете мне помочь? Был бы очень признателен. Заранее спасибо!

Комментарии:

1. Добро пожаловать в SO! Можно ли было бы создать воспроизводимый пример и рассказать нам, как должна выглядеть ожидаемая диаграмма?

2. Добавлен график и еще кое-что. Помогает ли это?

3. Мне жаль, но я не могу помочь в этом вопросе. ggplot плохо работает со вторичной осью, если только это не линейное преобразование первой. Есть некоторые обходные пути, но это утомительная работа…

4. Ага, хорошо, в любом случае спасибо!