ฉันมีสคริปต์ R ยาวที่ทำให้เกิดคำเตือนซึ่งฉันสามารถเพิกเฉยได้ ฉันสามารถใช้
suppressWarnings(expr)
สำหรับคำสั่งเดียว แต่ฉันจะระงับคำเตือนใน R ทั่วโลกได้อย่างไร มีตัวเลือกสำหรับสิ่งนี้หรือไม่?
ฉันมีสคริปต์ R ยาวที่ทำให้เกิดคำเตือนซึ่งฉันสามารถเพิกเฉยได้ ฉันสามารถใช้
suppressWarnings(expr)
สำหรับคำสั่งเดียว แต่ฉันจะระงับคำเตือนใน R ทั่วโลกได้อย่างไร มีตัวเลือกสำหรับสิ่งนี้หรือไม่?
คำตอบ:
คุณสามารถใช้
options(warn=-1)
แต่โปรดทราบว่าการปิดข้อความเตือนทั่วโลกอาจไม่ใช่ความคิดที่ดี
หากต้องการเปิดคำเตือนอีกครั้งให้ใช้
options(warn=0)
(หรือสิ่งที่คุณตั้งไว้เพื่อwarn
ดูคำตอบนี้ )
options(warn=-1)
คุณต้องการ อย่างไรก็ตามโปรดทราบว่าwarn=0
ไม่ใช่ระดับคำเตือนที่ปลอดภัยที่สุดและไม่ควรถือว่าเป็นระดับปัจจุบันโดยเฉพาะภายในสคริปต์หรือฟังก์ชั่น ดังนั้นวิธีที่ปลอดภัยที่สุดในการปิดการเตือนชั่วคราวคือ:
oldw <- getOption("warn")
options(warn = -1)
[your "silenced" code]
options(warn = oldw)
ฉันได้แทนที่การprintf
โทรด้วยการโทรwarning
เป็น C-code ทันที มันจะมีผลในเวอร์ชั่น 2.17.2 ซึ่งควรจะมีให้ในคืนพรุ่งนี้ จากนั้นคุณควรหลีกเลี่ยงคำเตือนด้วยsuppressWarnings()
วิธีการใด ๆ ข้างต้น
suppressWarnings({ your code })
ดู?options
และใช้งานwarn
:
options( warn = -1 )