2010-03-23 10 views
13

Me gustaría suprimir la salida en R cuando ejecuto mi script R desde el símbolo del sistema.Cómo suprimir la salida

Intenté numerosas opciones incluyendo --slave y --vanilla. Esas opciones disminuyen la cantidad de texto emitido.

También traté de conectar la salida a NUL pero eso no ayudó.

+1

Tal R es la impresión a stderr si '> NUL' doesn' t ayuda. Intenta agregar '2> & 1' también. – Joey

Respuesta

28

Mire help(sink) para hacer eso. En Unix que haría

sink("/dev/null") # now suppresses 
....     # do stuff 
sink()    # to undo prior suppression, back to normal now 

y el equivalente de Windows (con una punta-de-la-hat a Johannes) es

sink("NUL") 
.... 
sink() 
+3

Por lo general, el equivalente de Windows es 'NUL'. Sin embargo, bien puede ser que 'CreateFile', & c. no podrá abrirlo y que es en gran parte una funcionalidad especial en el shell que permite su funcionamiento. – Joey

+0

Gracias - Edité la respuesta en consecuencia (después de probar que sí funciona de esa manera con 'NUL' citado correctamente). –

+1

Hola @DirkEddelbuettel, observé que esto no se aplica a los errores de dumping de las secciones try(), sink (file = "NUL", type = "message") se queja de que "NUL" no es una conexión de archivos, en esos casos uno necesita usar el try (stop ("mensaje de error"), silent = TRUE) para que funcione como se espera. Solo quería agregar esto a su respuesta en caso de que alguien más tropiece con esta respuesta. –

Cuestiones relacionadas