วิธีแก้ไขใน r: 'x' ต้องเป็นตัวเลข
ข้อผิดพลาดที่คุณอาจพบใน R คือ:
Error in hist.default(data): 'x' must be numeric
ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามสร้างฮิสโตแกรมสำหรับตัวแปรที่ไม่ใช่ตัวเลข
บทช่วยสอนนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดนี้อย่างชัดเจน
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเรากำลังพยายามสร้างฮิสโตแกรมสำหรับเวกเตอร์ข้อมูลต่อไปนี้:
#definevector data <- c('1.2', '1.4', '1.7', '1.9', '2.2', '2.5', '3', '3.4', '3.7', '4.1') #attempt to create histogram to visualize distribution of values in vector hist(data) Error in hist.default(data): 'x' must be numeric
เราได้รับข้อผิดพลาดเนื่องจาก ข้อมูล ในปัจจุบันไม่ใช่เวกเตอร์ตัวเลข เราสามารถยืนยันสิ่งนี้ได้โดยตรวจสอบคลาส:
#check class
class(data)
[1] “character”
ปัจจุบัน ข้อมูล เป็นเวกเตอร์อักขระ
วิธีการแก้ไขข้อผิดพลาด
วิธีที่ง่ายที่สุดในการแก้ไขข้อผิดพลาดนี้คือการใช้ as.numeric() เพื่อแปลงเวกเตอร์ของเราเป็นตัวเลข:
#convert vector from character to numeric data_numeric <- as. numeric (data) #create histogram hist(data_numeric)
โปรดทราบว่าเราไม่ได้รับข้อผิดพลาดและเราสามารถสร้างฮิสโตแกรมได้เนื่องจากเวกเตอร์ของเราเป็นตัวเลขแล้ว
เราสามารถตรวจสอบสิ่งนี้ได้โดยการตรวจสอบคลาส:
#check class
class(data_numeric)
[1] "digital"
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่น ๆ ใน R:
วิธีแก้ไข: NAs ถูกแนะนำโดย Coercion
วิธีแก้ไข: จำนวนดัชนีบนเมทริกซ์ไม่ถูกต้อง
วิธีแก้ไข: จำนวนสินค้าที่จะเปลี่ยนไม่ใช่ผลคูณของความยาวในการเปลี่ยน