varias tutorial superponer lineas histograma graficos graficas ggplot español avanzados r ggplot2

tutorial - superponer graficas en r ggplot



Trazar líneas y la estética grupal en ggplot2 (1)

Esta pregunta se deriva de una pregunta anterior y sus respuestas.

Primero algunos datos de juguetes:

df = read.table(text = "School Year Value A 1998 5 B 1999 10 C 2000 15 A 2000 7 B 2001 15 C 2002 20", sep = "", header = TRUE)

La pregunta original preguntó cómo trazar líneas de Valor-Año para cada escuela. Las respuestas más o menos corresponden a p1 y p2 a continuación. Pero también considere p3.

library(ggplot2) (p1 <- ggplot(data = df, aes(x = Year, y = Value, colour = School)) + geom_line() + geom_point()) (p2 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) + geom_line(aes(group = School)) + geom_point()) (p3 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) + geom_line() + geom_point())

Tanto p1 como p2 hacen el trabajo. La diferencia entre p1 y p2 es que p1 trata el Year como numérico, mientras que p2 trata el Year como un factor. Además, p2 contiene una estética group en geom_line . Pero cuando se group estética del group como en p3, las líneas no se dibujan.

La pregunta es: ¿por qué es necesaria la estética del group cuando la variable del eje x es un factor, pero la estética del group no es necesaria cuando la variable del eje x es numérica?


En las palabras del propio Hadley :

Lo importante [ para un gráfico de líneas con un factor en el eje horizontal ] es especificar manualmente la agrupación. Por defecto, ggplot2 usa la combinación de todas las variables categóricas en el gráfico para agrupar los geoms; eso no funciona para este diagrama porque se obtiene una línea individual para cada punto. Especificar manualmente group = 1 indica que desea una sola línea que conecte todos los puntos.

En realidad, puedes agrupar los puntos de maneras muy diferentes, como lo demuestra koshke aquí