У меня есть набор данных, где x
представляет день года (скажем, дни рождения), и я хочу создать для этого график плотности. Кроме того, поскольку у меня есть некоторая групповая информация (скажем, мальчики или девочки), я хочу использовать возможности ggplot2
для построения графика плотности.
Поначалу достаточно просто:
require(ggplot2); require(dplyr)
bdays <- data.frame(gender = sample(c('M', 'F'), 100, replace = T), bday = sample(1:365, 100, replace = T))
bdays %>% ggplot(aes(x = bday)) + geom_density(aes(color = factor(gender)))
Однако это дает плохую оценку из-за краевых эффектов. Я хочу применить тот факт, что я могу использовать круговые координаты, чтобы 365 + 1 = 1 -- один день после 31 декабря был 1 января. Я знаю, что пакет circular
предоставляет эту функциональность, но мне не удалось реализовать ее с помощью вызова stat_function()
. Мне особенно полезно использовать ggplot2
, потому что я хочу иметь возможность использовать фасеты, aes
вызовы и т. д.
Кроме того, для пояснения, я хотел бы что-то похожее на geom_density
-- я не ищу полярный график, подобный показанному на: Круговой график плотности с использованием ggplot2.