วิธีแก้ไขในข้อผิดพลาด r: พยายามใช้ฟังก์ชันที่ไม่ใช่


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

 Error: attempt to apply non-function

ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามคูณค่าใน R แต่ลืมใส่เครื่องหมายคูณ ( * )

บทช่วยสอนนี้จะอธิบายวิธีจัดการกับข้อผิดพลาดนี้อย่างชัดเจนในสองสถานการณ์ที่แตกต่างกัน

สถานการณ์ที่ 1: แก้ไขข้อผิดพลาดในการคูณเฟรมข้อมูล

สมมติว่าเราสร้าง data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (x=c(1, 2, 6, 7),
                 y=c(3, 5, 5, 8))

#view data frame
df

  xy
1 1 3
2 2 5
3 6 5
4 7 8

ตอนนี้ สมมติว่าเราพยายามสร้างคอลัมน์ใหม่เท่ากับคอลัมน์ x คูณด้วย 10:

 #attempt to create new column
df$x_times_10 <- df$x(10)

Error: attempt to apply non-function

เราได้รับข้อผิดพลาดเนื่องจากเราลืมใส่เครื่องหมายคูณ ( * )

เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องใส่เครื่องหมายคูณด้วย:

 #create new column
df$x_times_10 <- df$x*(10)

#view updated data frame
df

  xy x_times_10
1 1 3 10
2 2 5 20
3 6 5 60
4 7 8 70

สถานการณ์ที่ 2: แก้ไขข้อผิดพลาดในการคูณเวกเตอร์

สมมติว่าเราสร้างเวกเตอร์สองตัวใน R และพยายามคูณองค์ประกอบที่เกี่ยวข้องกัน:

 #create two vectors
x <- c(1, 2, 2, 2, 4, 5, 6)
y <- c(5, 6, 8, 7, 8, 8, 9)

#attempt to multiply corresponding elements in vectors
(x)(y)

Error: attempt to apply non-function

เราได้รับข้อผิดพลาดเนื่องจากเราไม่มีเครื่องหมายคูณ

เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องใส่เครื่องหมายคูณด้วย:

 #multiply corresponding elements in vectors
(x)*(y)

[1] 5 12 16 14 32 40 54

โปรดทราบว่าครั้งนี้ไม่มีข้อผิดพลาดเกิดขึ้น

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่น ๆ ใน R:

วิธีแก้ไข: เงื่อนไขมีความยาว > 1 และระบบจะใช้เฉพาะองค์ประกอบแรกเท่านั้น
วิธีแก้ไข: อาร์กิวเมนต์ที่ไม่ใช่ตัวเลขของตัวดำเนินการไบนารี
วิธีแก้ไข: dim(X) ต้องมีความยาวเป็นค่าบวก
วิธีแก้ไข: ข้อผิดพลาดในการเลือกอาร์กิวเมนต์ที่ไม่ได้ใช้

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

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