วิธีแก้ไข: ggplot2 ไม่รู้วิธีจัดการข้อมูลคลาสที่ไม่เท่ากัน


ข้อผิดพลาดที่คุณอาจพบใน R คือ:

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

ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามใช้ ggplot2 เพื่อพล็อตเฟรมข้อมูลสองเฟรมพร้อมกัน แต่ไม่สามารถใช้อาร์กิวเมนต์ ข้อมูล ในฟังก์ชัน geom_line() ได้

บทช่วยสอนนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดนี้อย่างชัดเจน

วิธีการทำซ้ำข้อผิดพลาด

สมมติว่าเรามีกรอบข้อมูลสองกรอบใน R ที่แสดงจำนวนยอดขายที่เกิดขึ้นในเวลาที่กำหนดและในวันที่ต่างกัน:

 #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

ตอนนี้ สมมติว่าเรากำลังพยายามสร้างแผนภูมิเส้นเพื่อแสดงภาพยอดขายโดยจัดกลุ่มตามวันและชั่วโมง โดยใช้สีน้ำเงินสำหรับกรอบข้อมูลแรก และสีแดงสำหรับกรอบข้อมูลที่สอง:

 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

เราได้รับข้อผิดพลาดเนื่องจากเราล้มเหลวในการใช้อาร์กิวเมนต์ ข้อมูล ในฟังก์ชัน geom_line() ที่สอง

วิธีการแก้ไขข้อผิดพลาด

วิธีแก้ไขข้อผิดพลาดนี้คือเพียงป้อนข้อมูลลงในอาร์กิวเมนต์ 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’

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *