Построение кумулятивного счета в ggplot2
В ggplot есть несколько постов о построении кумулятивных плотностей. Я в настоящее время использую принятый ответ отБолее простой способ построить совокупное распределение частот в ggplot? для составления моего совокупного счета. Но это решение предполагает предварительный расчет значений заранее.
Здесь я ищу чистое решение ggplot. Давайте покажем, что у меня так далеко:
x <- data.frame(A=replicate(200,sample(c("a","b","c"),1)),X=rnorm(200))
ggplot-хstat_ecdf
Я могу использовать ggplot'sstat_ecdf
, но это только графики совокупной плотности:
ggplot(x,aes(x=X,color=A)) + geom_step(aes(y=..y..),stat="ecdf")
Я хотел бы сделать что-то вроде следующего, но это не работает:
ggplot(x,aes(x=X,color=A)) + geom_step(aes(y=..y.. * ..count..),stat="ecdf")
cumsum
а такжеstat_bin
Я нашел идею об использованииcumsum
а такжеstat_bin
:
ggplot(x,aes(x=X,color=A)) + stat_bin(aes(y=cumsum(..count..)),geom="step")
Но, как вы можете видеть, следующий цвет не начинается сy=0
, но где последний цвет закончился.
Что бы я хотел получить от лучшего к худшему:
В идеале простое исправление не работает
ggplot(x,aes(x=X,color=A)) + geom_step(aes(y=..y.. * ..count..),stat="ecdf")
Более сложный способ использованияstat_ecdf
с учетом.
cumsum
подход, так как он дает худшие (binned) результаты.