Як виправити: довжина естетики має бути 1 або такою самою, як дані.
Помилка, з якою ви можете зіткнутися в R:
Error: Aesthetics must be either length 1 or the same as the data (5): fill
Ця помилка виникає, коли ви намагаєтеся вказати кольори заливки для використання на діаграмі ggplot2, але вказана кількість кольорів не дорівнює 1 або не дорівнює загальній кількості об’єктів, які потрібно залити.
У наступному прикладі показано, як виправити цю помилку на практиці.
Як відтворити помилку
Скажімо, ми працюємо з вбудованим набором даних R під назвою 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
Тепер припустімо, що ми спробуємо створити кілька діаграм, щоб візуалізувати розподіл значень озону для кожного місяця:
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
Ми отримуємо повідомлення про помилку, оскільки в наборі даних є 5 унікальних місяців (тому ми створимо 5 коробкових графіків), але ми надали лише два кольори аргументу заповнення .
Як виправити помилку
Виправити цю помилку можна двома способами:
Спосіб 1. Використовуйте лише один колір в аргументі заповнення
Ми можемо вибрати використання лише одного кольору в аргументі заповнення:
library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue '))

Це дозволяє нам заповнити кожну коробку однаковим кольором.
Спосіб 2. Використовуйте ту саму кількість кольорів, що й кількість коробкових діаграм
Ми також можемо вказати п’ять кольорів для використання, оскільки це відповідає кількості коробкових діаграм, які ми створимо:
library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue ', ' red ', ' purple ', ' green ', ' orange '))

Ми не отримуємо жодних помилок, оскільки кількість кольорів, які ми надали, відповідає кількості коробкових діаграм.
Додаткові ресурси
У наступних посібниках пояснюється, як виправити інші типові помилки в R:
Як виправити: дискретне значення надається в безперервній шкалі
Як виправити: аргумент не є ані числовим, ані логічним: повертає na
Як виправити: Заміна має нульову довжину