โปรดพิจารณาสิ่งต่อไปนี้
$ R --vanilla
> as.Date("01 Jan 2000")
Error in charToDate(x) :
character string is not in a standard unambiguous format
แต่วันที่นั้นอยู่ในรูปแบบมาตรฐานที่ไม่คลุมเครือ ทำไมข้อความแสดงข้อผิดพลาด?
ที่แย่กว่านั้นคือยอมรับวันที่คลุมเครือโดยไม่มีคำเตือนหรือข้อผิดพลาดและอ่านไม่ถูกต้อง!
> as.Date("01/01/2000")
[1] "0001-01-20"
ฉันได้ค้นหาและพบคำถามอีก 28 ข้อในแท็ก [R] ที่มีข้อความแสดงข้อผิดพลาดนี้ ทั้งหมดนี้มีโซลูชันและวิธีแก้ปัญหาที่เกี่ยวข้องกับการระบุรูปแบบ iiuc คำถามนี้แตกต่างจากที่ฉันถามว่ารูปแบบมาตรฐานที่ไม่คลุมเครือถูกกำหนดไว้ที่ใดแล้วและสามารถเปลี่ยนแปลงได้หรือไม่ ทุกคนได้รับข้อความเหล่านี้หรือเป็นเพียงฉัน? บางทีมันอาจเกี่ยวข้องกับสถานที่?
กล่าวอีกนัยหนึ่งมีทางออกที่ดีกว่าการต้องระบุรูปแบบหรือไม่?
29 คำถามที่ประกอบด้วย "[R] รูปแบบมาตรฐานที่ไม่คลุมเครือ"
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
as.Date.character
อินพุตจะถูกทดสอบสำหรับสองรูปแบบนี้เท่านั้น:"%Y-%m-%d"
และ"%Y/%m/%d"
. หากสามารถจับคู่หนึ่งในนั้นได้ดูเหมือนว่า "ไม่คลุมเครือ"