Questa domanda fa seguito a un question and its answers.linee tracciato e l'estetica del gruppo in ggplot2
Prima alcuni dati giocattolo in precedenza:
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 domanda iniziale chiesto come tracciare le linee Value-anno per ogni scuola. Le risposte più o meno corrispondono a p1 e p2 sotto. Ma considera anche 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())
Entrambi p1 e p2 fanno il lavoro. La differenza tra p1 e p2 è che p1 considera Year
come numerico mentre p2 considera Year
come un fattore. Inoltre, p2 contiene un'estetica group
in geom_line
. Ma quando l'estetica group
viene eliminata come in p3, le linee non vengono disegnate.
La domanda è: perché è l'estetica group
necessaria quando la variabile asse x è un fattore, ma il group
estetica non è necessario quando la variabile asse x è numerico?
Così, quando 'x' è numerica, ipotesi circa il raggruppamento delle osservazioni per il fattore non sono fatti (e non è possibile effettuare perché ovviamente' x' non è un fattore). Suppongo che ciò che mi ha confuso nel caso di 'x' numerici è che è ancora possibile ottenere la singola riga specificando' group = 1' ma più righe senza specifica 'group'. –
Sì, @Sandy Muspratt, in quest'ultimo caso, 'x' numerico fornisce un ordinamento naturale ma nessun fattore da raggruppare, quindi entrano in gioco altre variabili categoriali. Mi ci è voluto un po 'per abbracciarlo, ora è logico. (Grazie per aver accettato). – gauden
Grazie per il chiarimento –