varias superponer normal modificar lineas histograma graficos grafico graficas ejes dispersion curva con r colors histogram

superponer - R: Gráfico de densidad con colores por grupo?



superponer graficas en r (2)

Tengo datos de 2 poblaciones. Me gustaría obtener el gráfico de histograma y densidad de ambos en el mismo gráfico. Con un color para una población y otro color para la otra.

Lo he intentado (ejemplo):

library(ggplot2) AA <- rnorm(100000, 70,20) BB <- rnorm(100000,120,20) valores <- c(AA,BB) grupo <- c(rep("AA", 100000),c(rep("BB", 100000))) todo <- data.frame(valores, grupo) ggplot(todo, aes(x=valores, fill=grupo, color=grupo)) + geom_histogram(aes(y=..density..), binwidth=3)+ geom_density(aes(color=grupo))

Pero solo estoy obteniendo un gráfico con una sola línea y un solo color.

Me gustaría tener diferentes colores para las dos líneas de densidad. Y si es posible los histogramas también.

Lo hice con ggplot2 pero la base R también estaría bien.

o no sé lo que he cambiado y ahora entiendo esto:

ggplot(todo, aes(x=valores, fill=grupo, color=grupo)) + geom_histogram( position="identity", binwidth=3, alpha=0.5)+ geom_density(aes(color=grupo))

pero las líneas de densidad no fueron trazadas.

o incluso cosas extrañas como


Sugiero esta solución ggplot2:

ggplot(todo, aes(valores, color=grupo)) + geom_histogram(position="identity", binwidth=3, aes(y=..density.., fill=grupo), alpha=0.5) + geom_density()

@skan: Tu intento estuvo cerca, pero trazaste las frecuencias en lugar de los valores de densidad en el histograma.


Una solución base R podría ser:

hist(AA, probability = T, col = rgb(1,0,0,0.5), border = rgb(1,0,0,1), xlim=range(AA,BB), breaks= 50, ylim=c(0,0.025), main="AA and BB", xlab = "") hist(BB, probability = T, col = rgb(0,0,1,0.5), border = rgb(0,0,1,1), add=T) lines(density(AA)) lines(density(BB), lty=2)

Para alfa, utilicé rgb . Pero hay más formas de hacerlo. Consulte alpha() en el paquete de scales , por ejemplo. También agregué el parámetro de rupturas para la gráfica de los AA para aumentar el ancho de banda en comparación con el grupo de BB.