Как исправить в R: ошибка: `mapping` должен быть создан с помощью `aes()`

Как исправить в R: ошибка: `mapping` должен быть создан с помощью `aes()`

Одна ошибка, с которой вы можете столкнуться при использовании R:

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

Эта ошибка возникает, когда вы пытаетесь использовать аргумент aes() при создании графика в ggplot2 и используете его в неправильном месте или используете без синтаксиса «отображения».

В следующем примере показано, как исправить эту ошибку на практике.

Как воспроизвести ошибку

Предположим, мы пытаемся создать коробочную диаграмму с помощью ggplot2:

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))

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

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

Мы получаем ошибку, потому что аргумент aes() используется в функции geom_boxplot() без использования синтаксиса «отображения».

Как исправить ошибку

Есть два способа исправить эту ошибку.

Метод 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)

#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(df, aes(x=x1)) +
 geom_boxplot()

Мы можем успешно создать коробочную диаграмму и избежать ошибок, потому что мы использовали аргумент aes() в функции ggplot() .

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в R:

Как исправить в R: plot.new еще не вызывался
Как исправить в R: неверная формула модели в ExtractVars
Как исправить в R: замена имеет нулевую длину

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.