R での修正方法: エラー: `mapping` は `aes()` によって作成する必要があります


R を使用するときに発生する可能性のあるエラーは次のとおりです。

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

このエラーは、ggplot2 でプロットを作成するときにaes()引数を使用しようとして、それを間違った場所で使用したり、「マッピング」構文なしで使用したりすると発生します。

次の例は、このエラーを実際に修正する方法を示しています。

エラーを再現する方法

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()関数で使用されているため、エラーが発生します。

エラーを修正する方法

このエラーを修正するには 2 つの方法があります。

方法 1: 「マッピング」構文を使用する

エラーを修正する 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: ggplot 関数で「aes」を使用する

このエラーを修正するもう 1 つの方法は、 ggplot()関数でaes()引数を使用することです。

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

ggplot()関数でaes()引数を使用しているため、箱ひげ図を正常に作成し、エラーを回避できます。

追加リソース

次のチュートリアルでは、R の他の一般的なエラーを修正する方法について説明します。

R での修正方法:plot.new はまだ呼び出されていません
R での修正方法: ExtractVars の無効なテンプレート式
R での修復方法: 置換の長さはゼロです

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です