Zeichnen von Linien und der Gruppenästhetik in ggplot2

Diese Frage knüpft an eine frühere anFrage und ihre Antworten.

Zuerst einige Spielzeugdaten:

<code>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)
</code>

In der ursprünglichen Frage wurde gefragt, wie Wert-Jahres-Linien für jede Schule geplottet werden sollen. Die Antworten entsprechen mehr oder weniger p1 und p2 unten. Beachten Sie aber auch p3.

<code>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())
</code>

Sowohl p1 als auch p2 machen den Job. Der Unterschied zwischen p1 und p2 besteht darin, dass p1 behandeltYear als numerisch, wohingegen p2 behandeltYear als Faktor. Auch p2 enthält agroup ästhetisch ingeom_line. Aber wenn diegroup Ästhetik entfällt wie in p3, die Linien werden nicht gezeichnet.

Die Frage ist: Warum ist das so?group ästhetisch notwendig, wenn die x-Achsenvariable ein Faktor ist, aber diegroup Ästhetik wird nicht benötigt, wenn die Variable der x-Achse numerisch ist?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage