Cara memperbaiki: ggplot2 tidak tahu cara menangani data kelas yang tidak setara


Kesalahan yang mungkin Anda temui di R adalah:

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

Kesalahan ini biasanya terjadi ketika Anda mencoba menggunakan ggplot2 untuk memplot dua bingkai data sekaligus, namun tidak dapat menggunakan argumen data dalam fungsi geom_line() .

Tutorial ini menjelaskan dengan tepat cara memperbaiki kesalahan ini.

Bagaimana cara mereproduksi kesalahan tersebut

Katakanlah kita memiliki dua bingkai data di R yang menunjukkan jumlah penjualan yang dilakukan pada waktu tertentu dan hari berbeda:

 #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

Sekarang katakanlah kita mencoba membuat diagram garis untuk memvisualisasikan penjualan yang dikelompokkan berdasarkan hari dan jam, menggunakan warna biru untuk bingkai data pertama dan merah untuk bingkai data kedua:

 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

Kami menerima kesalahan karena kami gagal menggunakan argumen data di fungsi geom_line() kedua.

Bagaimana cara memperbaiki kesalahan tersebut

Cara untuk memperbaiki kesalahan ini adalah dengan memasukkan data ke dalam argumen geom_line() kedua sehingga R mengetahui bingkai data apa yang ingin kita plot.

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

Perhatikan bahwa kali ini kita berhasil membuat diagram garis tanpa kesalahan apa pun.

Sumber daya tambahan

Tutorial berikut menjelaskan cara mengatasi kesalahan umum lainnya di R:

Cara memperbaikinya di R: kesalahan di as.Date.numeric(x): “origin” harus disediakan
Cara Memperbaiki: Kesalahan di stripchart.default(x1, …): Metode plotting tidak valid
Cara memperbaiki: kesalahan di eval (predvars, data, env): objek ‘x’ tidak ditemukan

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *