2009-10-06 15 views
7

Tengo tres conjuntos de datos de diferentes longitudes y me gustaría trazar las funciones de densidad de las tres en el mismo diagrama. Esto es sencillo con los gráficos de base:Trazar funciones de densidad predefinidas usando ggplot y R

n <- c(rnorm(10000), rnorm(10000)) 
a <- c(rnorm(10001), rnorm(10001, 0, 2)) 
p <- c(rnorm(10002), rnorm(10002, 2, .5)) 

plot(density(n)) 
lines(density(a)) 
lines(density(p)) 

Lo que me da algo como esto:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/10/density.png

Pero realmente quiero hacer esto con GGPLOT2 porque quiero añadir otras características que sólo están disponible con GGPLOT2. Parece que GGPLOT realmente quiere tomar mis datos empíricos y calcular la densidad para mí. Y me da un montón de labios porque mis conjuntos de datos son de diferentes longitudes. Entonces, ¿cómo puedo trazar estas tres densidades en GGPLOT2?

+0

Sólo me pregunto ... ¿por qué siempre capitalizas ggplot2? –

+0

En realidad, no ... es mi dedo meñique. Simplemente salta y presiona la tecla Shift sin mi permiso. :) Creo que es un resultado inconsciente de escribir muchas siglas en mayúsculas durante todo el día. Hago un esfuerzo consciente para dejarlo en minúsculas. Hago lo mismo con plyr (incluso cuando escribí que tengo que retroceder y hacerlo en minúsculas). Hadley ya rompió mis chuletas por mezclar mayúsculas y minúsculas en mis nombres de variables en mi código. Ustedes me van a hacer más ordenado y fácil de leer si no tengo cuidado! –

Respuesta

12

El secreto de la felicidad en ggplot2 es poner todo en el "largo" (o lo que yo supongo que la gente orientada a la matriz llamarían "escasa") Formato:

df <- rbind(data.frame(x="n",value=n), 
      data.frame(x="a",value=a), 
      data.frame(x="p",value=p)) 
qplot(value, colour=x, data=df, geom="density") 

Si usted no quiere colores:

qplot(value, group=x, data=df, geom="density") 
+0

hiciste mi noche mucho mejor. Estaba luchando con esto y no pude resolverlo. Muchas gracias. –

Cuestiones relacionadas