Líneas de trazado y la estética del grupo en ggplot2.
Esta pregunta se deduce de una anteriorPregunta y sus respuestas.
Primero algunos datos de juguete:
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 preguntaba cómo trazar las 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 considera 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 trataYear
como numérico mientras que p2 trataYear
como un factor Además, p2 contiene unagroup
estética engeom_line
. Pero cuando elgroup
La estética se deja caer como en p3, las líneas no se dibujan.
La pregunta es: ¿por qué es lagroup
estética necesaria cuando la variable del eje x es un factor, pero lagroup
¿No se necesita estética cuando la variable del eje x es numérica?