วิธีแก้ไขใน r: ไม่พบวัตถุ
ข้อผิดพลาดทั่วไปที่คุณอาจพบใน R คือ:
Error: object 'x' not found
ข้อผิดพลาดนี้มักเกิดขึ้นจากหนึ่งในสองสาเหตุ:
เหตุผลที่ 1 : คุณกำลังพยายามอ้างอิงวัตถุที่คุณไม่ได้สร้างขึ้น
เหตุผลที่ 2 : คุณกำลังรันโค้ดชิ้นหนึ่งโดยที่วัตถุไม่ได้ถูกกำหนดไว้ในส่วนนั้น
ตัวอย่างต่อไปนี้อธิบายวิธีการแก้ไขข้อผิดพลาดนี้ในแต่ละสถานการณ์เหล่านี้
ตัวอย่าง #1: ไม่พบวัตถุเมื่อไม่มีวัตถุ
สมมติว่าเราใช้รหัสต่อไปนี้เพื่อแสดงกรอบข้อมูลที่เราไม่ได้สร้าง:
#create data frame
my_df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#attempt to display data frame
my_data
Error: object 'my_data' not found
เราได้รับข้อผิดพลาดเนื่องจากไม่มีวัตถุ my_data
เราต้องพิมพ์ชื่อที่ถูกต้องของ data frame ที่เราสร้างขึ้นแทน:
#display data frame
my_df
team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28
ครั้งนี้เราสามารถแสดง data frame ได้โดยไม่มีข้อผิดพลาดเนื่องจากเราใช้ชื่อที่ถูกต้อง
โปรดทราบว่าเรายังสามารถใช้ ls() เพื่อแสดงชื่อวัตถุทั้งหมดในสภาพแวดล้อมปัจจุบันของเรา และ มีอยู่ () เพื่อตรวจสอบว่ามีชื่อวัตถุเฉพาะอยู่หรือไม่:
#display the names of all objects in environment ls() [1] "df" "my_df" "x" #check if my_data exists exists(' my_data ') [1] FALSE
เราจะเห็นได้ว่า มีอยู่(‘my_data’) ส่งคืน FALSE ซึ่งเป็นสาเหตุที่เราได้รับข้อผิดพลาดเมื่อเราพยายามแสดงมัน
ตัวอย่าง #2: ไม่พบออบเจ็กต์เมื่อมีการเน้นโค้ดที่ไม่ถูกต้อง
อีกสาเหตุหนึ่งที่เราอาจได้รับข้อผิดพลาด ที่ไม่พบวัตถุ คือเนื่องจากเราได้เน้นโค้ดบางส่วนที่จะทำงานใน RStudio ที่ไม่มีชื่อของวัตถุที่เราพยายามอ้างอิง
ตัวอย่างเช่น ลองพิจารณาภาพหน้าจอต่อไปนี้ซึ่งเราไฮไลต์แถวที่ 3 ถึง 5 และพยายามคำนวณค่าเฉลี่ยของค่าที่ชื่อ x :
เนื่องจากเราสร้างเวกเตอร์ชื่อ x ในบรรทัดที่ 2 เราจึงได้รับข้อผิดพลาดเนื่องจากเราไม่ได้สร้างเวกเตอร์นี้ในส่วนของโค้ดที่เราไฮไลต์
หากเราเน้นย้ำโค้ดทั้งหมดที่เราสนใจแทน เราจะไม่ได้รับข้อผิดพลาดใดๆ:
โปรดทราบว่าในครั้งนี้ RStudio จะแสดงค่าเฉลี่ยของเวกเตอร์ x โดยไม่มีข้อผิดพลาดใดๆ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้อธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่น ๆ ใน R:
วิธีแก้ไขใน R: ชื่อไม่ตรงกับชื่อก่อนหน้า
วิธีแก้ไขใน R: ความยาวของวัตถุที่ยาวกว่าไม่ใช่ผลคูณของความยาวของวัตถุที่สั้นกว่า
วิธีแก้ไขใน R: คอนทราสต์ใช้ได้กับปัจจัยที่มี 2 ระดับขึ้นไปเท่านั้น