วิธีแก้ไขข้อผิดพลาด: "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’

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

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