Cara memperbaikinya: estetikanya harus panjang 1 atau sama dengan datanya.
Kesalahan yang mungkin Anda temui di R adalah:
Error: Aesthetics must be either length 1 or the same as the data (5): fill
Kesalahan ini terjadi ketika Anda mencoba menentukan warna isian untuk digunakan dalam plot ggplot2, namun jumlah warna yang Anda tentukan tidak sama dengan 1 atau tidak sama dengan jumlah total objek yang akan diisi.
Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Katakanlah kita sedang bekerja dengan dataset R bawaan yang disebut 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
Sekarang misalkan kita mencoba membuat beberapa plot kotak untuk memvisualisasikan distribusi nilai ozon setiap bulannya:
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
Kami menerima kesalahan karena ada 5 bulan unik dalam kumpulan data (jadi kami akan membuat 5 plot kotak) tetapi kami hanya memberikan dua warna pada argumen padding .
Bagaimana cara memperbaiki kesalahan tersebut
Ada dua cara untuk memperbaiki kesalahan ini:
Metode 1: Gunakan hanya satu warna dalam argumen isian
Kita dapat memilih untuk menggunakan hanya satu warna dalam argumen isian:
library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue '))
Hal ini memungkinkan kita untuk mengisi setiap plot kotak dengan warna yang sama.
Metode 2: Gunakan jumlah warna yang sama dengan jumlah plot kotak
Kita juga dapat menentukan lima warna yang akan digunakan, karena ini sesuai dengan jumlah plot kotak yang akan kita buat:
library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue ', ' red ', ' purple ', ' green ', ' orange '))
Kami tidak menerima error apapun karena jumlah warna yang kami sediakan sesuai dengan jumlah boxplot.
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya di R:
Cara Memperbaiki: Nilai Diskrit yang Diberikan pada Skala Berkelanjutan
Cara memperbaikinya: argumen bukan numerik atau logis: mengembalikan na
Cara Memperbaiki: Penggantian memiliki panjang nol