Linhas de plotagem e o grupo estético em ggplot2
Esta questão segue de um anteriorpergunta e suas respostas.
Primeiro alguns dados de brinquedo:
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)
A pergunta original perguntava como plotar linhas de valor-ano para cada escola. As respostas mais ou menos correspondem a p1 e p2 abaixo. Mas também 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())
Ambos p1 e p2 fazem o trabalho. A diferença entre p1 e p2 é que p1 trataYear
como numérico enquanto p2 trataYear
como um fator. Além disso, p2 contém umgroup
estética emgeom_line
. Mas quando ogroup
estética cai como em p3, as linhas não são desenhadas.
A questão é: por que ogroup
estética necessária quando a variável do eixo x é um fator, mas ogroup
estética não é necessária quando a variável do eixo x é numérica?