Come risolvere il problema: l'estetica deve essere di lunghezza 1 o uguale ai dati.
Un errore che potresti riscontrare in R è:
Error: Aesthetics must be either length 1 or the same as the data (5): fill
Questo errore si verifica quando provi a specificare i colori di riempimento da utilizzare in un grafico ggplot2, ma il numero di colori specificato non è uguale a 1 o non è uguale al numero totale di oggetti da riempire.
L’esempio seguente mostra come correggere questo errore nella pratica.
Come riprodurre l’errore
Diciamo che stiamo lavorando con il set di dati R integrato chiamato airquality :
#view first six lines of air quality dataset
head(airquality)
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6
Supponiamo ora di provare a creare diversi box plot per visualizzare la distribuzione dei valori di ozono per ogni mese:
library (ggplot2)
#attempt to create multiple boxplots
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue ', ' red '))
Error: Aesthetics must be either length 1 or the same as the data (5): fill
Riceviamo un errore perché ci sono 5 mesi univoci nel set di dati (quindi creeremo 5 boxplot) ma abbiamo fornito solo due colori all’argomento di riempimento .
Come correggere l’errore
Esistono due modi per correggere questo errore:
Metodo 1: utilizzare un solo colore nell’argomento riempimento
Potremmo scegliere di utilizzare un solo colore nell’argomento fill:
library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue '))
Questo ci permette di riempire ogni boxplot con lo stesso colore.
Metodo 2: utilizzare un numero di colori pari al numero di boxplot
Potremmo anche specificare cinque colori da utilizzare, poiché ciò corrisponde al numero di boxplot che creeremo:
library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue ', ' red ', ' purple ', ' green ', ' orange '))
Non riceviamo alcun errore perché il numero di colori che abbiamo fornito corrisponde al numero di boxplot.
Risorse addizionali
I seguenti tutorial spiegano come correggere altri errori comuni in R:
Come risolvere il problema: valore discreto fornito su scala continua
Come risolvere: l’argomento non è né numerico né logico: restituisce na
Come risolvere il problema: la sostituzione ha una lunghezza pari a zero