วิธีแก้ไข: สตริงไม่อยู่ในรูปแบบมาตรฐานที่ชัดเจน
ข้อผิดพลาดทั่วไปที่คุณอาจพบใน R คือ:
Error in as.POSIXlt.character(x, tz, ...):
character string is not in a standard unambiguous format
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามแปลงออบเจ็กต์ในรูปแบบ R ให้เป็นรูปแบบวันที่ แต่ขณะนี้ออบเจ็กต์นั้นเป็นอักขระหรือปัจจัย
เมื่อต้องการแก้ไขข้อผิดพลาดนี้ คุณต้องแปลงออบเจ็กต์เป็นดิจิทัลก่อน
บทช่วยสอนนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดนี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเรามี data frame ต่อไปนี้ใน R:
#create data frame
df <- data. frame (date=c('1459397140', '1464397220', '1513467142'),
sales=c(140, 199, 243))
#view data frame
df
dirty date
1 1459397140 140
2 1464397220 199
3 1513467142 243
ตอนนี้สมมติว่าเรากำลังพยายามแปลงค่าคอลัมน์ วันที่ เป็นรูปแบบวันที่:
#attempt to convert values in date column to date
df$date <- as. POSIXct (df$date, origin=' 1970-01-01 ')
Error in as.POSIXlt.character(x, tz, ...):
character string is not in a standard unambiguous format
เราได้รับข้อผิดพลาดเนื่องจากค่าคอลัมน์ วัน ที่ปัจจุบันอยู่ในรูปแบบอักขระ ซึ่งฟังก์ชัน as.POSIXct() ไม่สามารถจัดการได้
วิธีการแก้ไขข้อผิดพลาด
เพื่อแก้ไขข้อผิดพลาดนี้ เราจำเป็นต้องใช้ as.numeric() เพื่อแปลงค่าคอลัมน์ วันที่ ให้เป็นรูปแบบตัวเลขก่อน ซึ่งเป็นรูปแบบที่ as.POSIXct สามารถรองรับได้:
#convert values in date column to date
df$date <- as. POSIXct (as. numeric (as. character (df$date)), origin=' 1970-01-01 ')
#view updated data frame
df
dirty date
1 2016-03-31 04:05:40 140
2 2016-05-28 01:00:20 199
3 2017-12-16 23:32:22 243
ครั้งนี้เราไม่ได้รับข้อผิดพลาดและเราสามารถแปลงค่าคอลัมน์ วันที่ เป็นรูปแบบวันที่ได้สำเร็จเนื่องจากเราแปลงค่าเป็นรูปแบบตัวเลขก่อน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่น ๆ ใน R:
วิธีแก้ไข: ไม่สามารถบังคับวัตถุ (รายการ) ให้พิมพ์ “double”
วิธีแก้ไขใน R: สูตรเทมเพลตไม่ถูกต้องใน ExtractVars
วิธีการซ่อมแซมใน R: การเปลี่ยนมีความยาวเป็นศูนย์