Cara menekan peringatan secara global dalam R Script


174

Saya memiliki skrip R panjang yang memberikan beberapa peringatan, yang dapat saya abaikan. Saya bisa menggunakan

suppressWarnings(expr)

untuk pernyataan tunggal. Tetapi bagaimana saya bisa menekan peringatan di R secara global? Apakah ada opsi untuk ini?

Jawaban:


229

Anda bisa menggunakannya

options(warn=-1)

Tetapi perhatikan bahwa mematikan pesan peringatan secara global mungkin bukan ide yang baik.

Untuk menghidupkan kembali peringatan, gunakan

options(warn=0)

(atau apa pun tujuan Anda warn, lihat jawaban ini )


5
Ini bekerja, tetapi pendekatan Francesco Napolitano dari 22 September 2015, adalah metode yang lebih aman dan lebih berlaku secara global.
Andy Clifton

Saya setuju dengan @Andy, dan jawabannya harus ditandai sebagai yang diterima.
JASC

106

Kamu ingin options(warn=-1). Namun, perhatikan bahwa warn=0itu bukan tingkat peringatan yang paling aman dan tidak boleh dianggap sebagai tingkat saat ini, terutama di dalam skrip atau fungsi. Dengan demikian cara teraman untuk mematikan peringatan adalah:

oldw <- getOption("warn")
options(warn = -1)

[your "silenced" code]

options(warn = oldw)

41

Saya telah mengganti printfpanggilan dengan panggilan ke warningdalam C-code sekarang. Ini akan efektif dalam versi 2.17.2 yang akan tersedia besok malam. Maka Anda harus dapat menghindari peringatan dengan suppressWarnings()atau metode lain yang disebutkan di atas.

suppressWarnings({ your code })

6
ini cara yang benar untuk melakukannya. Harus ditandai sebagai jawabannya.
Denis

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.