Як виправити помилку в r: `mapping` має бути створено `aes()`


Помилка, з якою ви можете зіткнутися під час використання R:

 Error: `mapping` must be created by `aes()`

Ця помилка виникає, коли ви намагаєтеся використати аргумент aes() під час створення діаграми в ggplot2 і використовуєте його не в тому місці або використовуєте його без синтаксису «відображення».

У наступному прикладі показано, як виправити цю помилку на практиці.

Як відтворити помилку

Припустімо, ми намагаємося створити boxplot за допомогою ggplot2:

 library (ggplot2)

#createdata
df <- data. frame (y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#attempt to create boxplot for 'x1' variable
ggplot() +
  geom_boxplot(df, aes(x=x1))

Error: `mapping` must be created by `aes()`

Ми отримуємо помилку, оскільки аргумент aes() використовується у функції geom_boxplot() без використання синтаксису “mapping”.

Як виправити помилку

Виправити цю помилку можна двома способами.

Спосіб 1: використовуйте синтаксис «відображення».

Один із способів виправити помилку — це спеціально використати синтаксис «відображення» перед аргументом aes() :

 library (ggplot2)

#create data
df <- data. frame (y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#create boxplot for 'x1' variable
ggplot() +
  geom_boxplot(df, mapping=aes(x=x1)) 

Оскільки ми явно використовували синтаксис відображення , ми уникали будь-яких помилок.

Спосіб 2: використовуйте «aes» у функції ggplot

Ще один спосіб виправити цю помилку — використати аргумент aes() у функції ggplot() :

 library (ggplot2)

#createdata
df <- data. frame (y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#create boxplot for 'x1' variable
ggplot(df, aes(x=x1)) +
  geom_boxplot()

Ми можемо успішно створити boxplot і уникнути будь-яких помилок, оскільки ми використали аргумент aes() у функції ggplot() .

Додаткові ресурси

У наступних посібниках пояснюється, як виправити інші типові помилки в R:

Як виправити в R: plot.new ще не викликано
Як виправити в R: недійсна формула шаблону в ExtractVars
Як відремонтувати в R: заміна має нульову довжину

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *