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.