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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *