СтекОверфлауэрс! Я пытаюсь проиллюстрировать сравнение распределений по шкале log10 с данными, которые выглядят примерно так:
df <- data.frame( grp = c( rep('A',1e5), rep('B',1e5), rep('C',1e5) ),
qty = c( rpois(1e5,5), rpois(1e5,25), rpois(1e5,50) ) + 1 )
Моя проблема (я думаю) в том, что ядро Гаусса по умолчанию для geom_density
не обрабатывает это масштабировать хорошо. Это производит этот зубчатый вид, который не так гладок.
library(ggplot2)
ggplot(df, aes(qty, fill=grp)) +
scale_x_log10(limits=c(1,100), breaks=c(1:10,25,50)) +
geom_density(alpha=.3)+
ylab("Density") + xlab("Count of Things") +
ggtitle("Density of Quantity of Things by Group")
(Я добавил галочки, чтобы прояснить проблему. Их удаление ничего не дает.)
Я думаю, что ищу ядро с дисперсией, которая экспоненциально уменьшается с x, так что его ширина постоянна в log-x... возможно ли это?
Я также пробовал geom_histogram(...stat='density')
, который делает то же самое. Я также попробовал + coord_trans(xtrans="log10")
вместо + scale_log10()
, но это не решило проблему и сделало что-то странное с осью Y. Спасибо!
geom_density(alpha=.3, adjust=5)
выглядит лучше, но я не статистик - person baptiste   schedule 19.07.2015