Wykreślanie zliczeń skumulowanych w ggplot2

Istnieje kilka postów o kreśleniu gęstości skumulowanych w ggplot. Obecnie używam zaakceptowanej odpowiedzi zŁatwiejszy sposób wykreślania skumulowanego rozkładu częstotliwości w ggplot? za spiskowanie moich skumulowanych liczb. Ale to rozwiązanie wymaga wcześniejszego obliczenia wartości.

Tutaj szukam czystego rozwiązania ggplot. Pokażmy, co mam do tej pory:

x <- data.frame(A=replicate(200,sample(c("a","b","c"),1)),X=rnorm(200))
ggplot'sstat_ecdf

Mogę używać ggplotastat_ecdf, ale tylko wykreśla skumulowane gęstości:

ggplot(x,aes(x=X,color=A)) + geom_step(aes(y=..y..),stat="ecdf")

Chciałbym zrobić coś takiego, ale to nie działa:

ggplot(x,aes(x=X,color=A)) + geom_step(aes(y=..y.. * ..count..),stat="ecdf")
cumsum istat_bin

Znalazłem pomysł na użyciecumsum istat_bin:

ggplot(x,aes(x=X,color=A)) + stat_bin(aes(y=cumsum(..count..)),geom="step")

Ale jak widać, następny kolor nie zaczyna się ody=0, ale gdzie skończył się ostatni kolor.

O co proszę

Co chciałbym mieć od najlepszego do najgorszego:

Idealnie prosta poprawka do niedziałającego

ggplot(x,aes(x=X,color=A)) + geom_step(aes(y=..y.. * ..count..),stat="ecdf")

Bardziej skomplikowany sposób użyciastat_ecdf z liczeniami.

Ostatnią deską ratunku byłoby użyciecumsum podejście, ponieważ daje gorsze (skumulowane) wyniki.

questionAnswers(3)

yourAnswerToTheQuestion