Linhas de plotagem e o grupo estético em ggplot2

Esta questão segue uma questão anterior 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 trata Year como numérico, enquanto p2 trata Year como um fator. Além disso, p2 contém uma estética de group em geom_line . Mas quando a estética do group é descartada como em p3, as linhas não são desenhadas.

A questão é: Por que a estética do group é necessária quando a variável do eixo x é um fator, mas a estética do group não é necessária quando a variável do eixo x é numérica?

insira a descrição da imagem aqui

Nas palavras do próprio Hadley :

O importante [ para um gráfico de linhas com um fator no eixo horizontal ] é especificar manualmente o agrupamento. Por padrão, o ggplot2 usa a combinação de todas as variables ​​categóricas no gráfico para agrupar gemas – isso não funciona para este gráfico porque você obtém uma linha individual para cada ponto. Especifique manualmente group = 1 indica que você deseja uma única linha conectando todos os pontos.

Você pode agrupar os pontos de maneiras muito diferentes, como demonstrado pelo koshke aqui