วิธีแก้ไขข้อผิดพลาด: "data" ต้องเป็น dataframe หรือวัตถุอื่นที่บังคับโดย "fortify ()" ไม่ใช่เวกเตอร์ตัวเลข
ข้อผิดพลาดที่คุณอาจพบใน R คือ:
Error: `data` must be a data frame, or other object coercible by `fortify()`,
not a digital vector
ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามใช้ ggplot2 เพื่อพล็อตตัวแปรใน data frame แต่คุณอ้างอิงเวกเตอร์แทน data frame สำหรับอาร์กิวเมนต์ ข้อมูล
บทช่วยสอนนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดนี้อย่างชัดเจน
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเรามี data frame ต่อไปนี้ใน 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
เราได้รับข้อผิดพลาดเนื่องจากเราอ้างอิงเวกเตอร์ตัวเลข ( df$x ) ในอาร์กิวเมนต์ ข้อมูล ไปยังฟังก์ชัน ggplot() แทนที่จะเป็นกรอบข้อมูล
วิธีการแก้ไขข้อผิดพลาด
วิธีแก้ไขข้อผิดพลาดนี้คือการอ้างอิง data frame สำหรับอาร์กิวเมนต์ ข้อมูล ในฟังก์ชัน ggplot()
ในตัวอย่างของเรา เราควรใช้ df แทน df$x สำหรับอาร์กิวเมนต์ ข้อมูล :
library (ggplot2)
#create scatterplot
ggplot(df, aes(x=x, y=y)) +
geom_point()

โปรดทราบว่าเราสามารถสร้างพอยต์คลาวด์ได้สำเร็จโดยไม่มีข้อผิดพลาดใดๆ ในครั้งนี้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้อธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่น ๆ ใน R:
วิธีแก้ไข: ggplot2 ไม่รู้วิธีจัดการข้อมูลคลาสที่ไม่เท่ากัน
วิธีแก้ไข: ข้อผิดพลาดใน stripchart.default(x1, …): วิธีการลงจุดไม่ถูกต้อง
วิธีแก้ไข: ข้อผิดพลาดใน eval (predvars, data, env): ไม่พบวัตถุ ‘x’