修正方法: ggplot2 は不等なクラス データの処理方法を知りません。


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

 Error: ggplot2 doesn't know how to deal with data of class uneval

このエラーは通常、 ggplot2を使用して 2 つのデータ フレームを一度にプロットしようとしたが、 geom_line()関数でdata引数を使用できない場合に発生します。

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

エラーを再現する方法

R に、特定の時間と異なる日に行われた販売数を示す 2 つのデータ フレームがあるとします。

 #create first data frame
df <- data. frame (date=c(1, 1, 1, 2, 2, 2, 3, 3, 3),
                 hour=c(1, 2, 3, 1, 2, 3, 1, 2, 3),
                 sales=c(2, 5, 7, 5, 8, 12, 10, 14, 13))

#view data frame
head(df)

  date hour sales
1 1 1 2
2 1 2 5
3 1 3 7
4 2 1 5
5 2 2 8
6 2 3 12

#create second data frame
df_new <- data. frame (date=c(4, 4, 4, 5, 5, 5),
                     hour=c(1, 2, 3, 1, 2, 3),
                     sales=c(12, 13, 19, 15, 18, 20))

#view data frame 
head(df_new)

  date hour sales
1 4 1 12
2 4 2 13
3 4 3 19
4 5 1 15
5 5 2 18
6 5 3 20

ここで、最初のデータ フレームに青、2 番目のデータ フレームに赤を使用して、日別と時間別にグループ化された売上を視覚化する折れ線グラフを作成しようとしているとします。

 library (ggplot2)

#attempt to create line chart
ggplot(df, aes(x=hour, y=sales, group=date)) +
  geom_line(color=' blue ') +
  geom_line(df_new, aes(x=hour, y=sales, group=date), color=' red ')

Error: ggplot2 doesn't know how to deal with data of class uneval

2 番目のgeom_line()関数でdata引数を使用できなかったため、エラーが発生しました。

エラーを修正する方法

このエラーを修正する方法は、2 番目のgeom_line()引数にデータを入力するだけです。これにより、プロットしようとしているデータ フレームが R に認識されます。

 library (ggplot2)

#create line chart
ggplot(df, aes(x=hour, y=sales, group=date)) +
  geom_line(color=' blue ') +
  geom_line(data=df_new, aes(x=hour, y=sales, group=date), color=' red ') 

今回はエラーなく正常に折れ線グラフを作成できたことに注目してください。

追加リソース

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

R での修正方法: as.Date.numeric(x) のエラー: “origin” を指定する必要があります
修正方法:stripchart.default(x1, …) のエラー: 無効なプロット方法
修正方法: eval (predvars、data、env) のエラー: オブジェクト ‘x’ が見つかりません

コメントを追加する

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