Как исправить в r: ошибку: `mapping` должно быть создано с помощью `aes()`
Ошибка, с которой вы можете столкнуться при использовании R:
Error: `mapping` must be created by `aes()`
Эта ошибка возникает, когда вы пытаетесь использовать аргумент aes() при создании графика в ggplot2 и используете его не в том месте или используете без синтаксиса «сопоставления».
В следующем примере показано, как исправить эту ошибку на практике.
Как воспроизвести ошибку
Предположим, мы пытаемся создать коробчатую диаграмму с помощью 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() без использования синтаксиса сопоставления.
Как исправить ошибку
Есть два способа исправить эту ошибку.
Способ 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()
Мы можем успешно создать коробчатую диаграмму и избежать каких-либо ошибок, потому что мы использовали аргумент aes() в функции ggplot() .
Дополнительные ресурсы
В следующих руководствах объясняется, как исправить другие распространенные ошибки в R:
Как исправить в R:plot.new еще не вызывался
Как исправить в R: неверная формула шаблона в ExtractVars
Как исправить в R: замена имеет нулевую длину