Estoy tratando de hacer un histograma de valores de densidad y superponerlo con la curva de una función de densidad (no la densidad estimada).Histograma de superposición con curva de densidad
El uso de un ejemplo sencillo normal estándar, aquí es algunos datos:
x <- rnorm(1000)
que puedo hacer:
q <- qplot(x, geom="histogram")
q + stat_function(fun = dnorm)
pero esto da la escala del histograma en frecuencias y no densidades. con ..density..
puedo conseguir la escala apropiada en el histograma:
q <- qplot(x,..density.., geom="histogram")
q
Pero ahora esto da un error:
q + stat_function(fun = dnorm)
¿Hay algo que no estoy viendo?
Otra pregunta, ¿hay alguna manera de trazar la curva de una función, como curve()
, pero no como capa?
La cuestión es que haya definido un global y para su trama usando ..density .. inside 'qplot'. Esto confunde 'stat_function'. La solución más fácil sería escribir 'qplot (x, geom = 'blank') + geom_histogram (aes (y = ..density ..)) + stat_function (fun = dnorm)'. Ver mi respuesta detallada debajo de – Ramnath
El equivalente a 'curve (dnorm, -4, 4)' sería 'qplot (x = -4: 4, stat = 'función', fun = dnorm, geom = 'línea')' – Ramnath
Ah, claro, lo intenté con la función como primer argumento pero ahora veo lo que salió mal. ¡Gracias! –