エラーの修正方法: 「data」は数値ベクトルではなく、「fortify()」によって強制できるデータフレームまたはその他のオブジェクトである必要があります。


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

 Error: `data` must be a data frame, or other object coercible by `fortify()`,
        not a digital vector

このエラーは、 ggplot2を使用してデータ フレーム内の変数をプロットしようとしたときに、データ引数のデータ フレームではなくベクトルを参照した場合に発生します。

このチュートリアルでは、このエラーを修正する方法を正確に説明します。

エラーを再現する方法

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8),
                 y=c(4, 8, 14, 19, 14, 13, 9, 9))

#view data frame
df

  xy
1 1 4
2 2 8
3 3 14
4 4 19
5 5 14
6 6 13
7 7 9
8 8 9

ここで、データ フレーム内の x 変数と y 変数を視覚化する散布図を作成しようとしているとします。

 library (ggplot2)

#attempt to create scatter plot
ggplot(df$x, aes(x=x, y=y)) +
    geom_point()

Error: `data` must be a data frame, or other object coercible by `fortify()`,
        not a digital vector

ggplot()関数のデータ引数でデータ フレームではなく数値ベクトル ( df$x ) を参照したため、エラーが発生します。

エラーを修正する方法

このエラーを修正する方法は、 ggplot()関数のdata引数のデータ フレームを参照することです。

この例では、データ引数にdf$xの代わりにdf を使用する必要があります。

 library (ggplot2)

#create scatterplot
ggplot(df, aes(x=x, y=y)) +
    geom_point()

今回はエラーなく点群を正常に作成できたことに注目してください。

追加リソース

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

修正方法: ggplot2 は不等なクラス データの処理方法を知りません。
修正方法:stripchart.default(x1, …) のエラー: 無効なプロット方法
修正方法: eval (predvars、data、env) のエラー: オブジェクト ‘x’ が見つかりません

コメントを追加する

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