Tengo una pregunta muy sencilla haciendo que me golpeo la cabeza contra la pared.eje y en los histogramas de R ggplot a proporción
Me gustaría escalar el eje y de mi histograma para reflejar la proporción (0 a 1) que compone cada cubo, en lugar de tener el área de las barras suma a 1, usando y = .. densidad .. does, o teniendo la barra más alta sea 1, como y = .. ncount .. does.
Mi entrada es una lista de nombres y valores, con el formato de este modo:
name value
A 0.0000354
B 0.00768
C 0.00309
D 0.00
Una de mis intentos fallidos:
library(ggplot2)
mydataframe < read.delim(mydata)
ggplot(mydataframe, aes(x = value)) +
geom_histogram(aes(x=value,y=..density..))
Esto me da un histograma con zona 1, pero alturas de 2000 y 1000:
ey = .. ncount. . Me da un histograma con la más alta bar 1,0, y descansar reducido a la misma:
pero me gustaría tener la primera barra tienen una altura de 0,5, y los otros dos 0.25.
R no reconoce estos usos de scale_y_continuous tampoco.
scale_y_continuous(formatter="percent")
scale_y_continuous(labels = percent)
scale_y_continuous(expand=c(1/(nrow(mydataframe)-1),0)
Gracias por cualquier ayuda.
Esto es exactamente lo que estaba buscando. Te haces sentir como un idiota, ¡y estoy realmente agradecido por ti! –
No tenía idea de que era posible hacer algo como esto. Gracias a este consejo, puedo generar un histograma de supervivencia/fiabilidad (es decir, 1 CDF) usando 'aes (y = 1-cumsum (.. count ..)/sum (.. count ..))'. – dnlbrky