2014-11-10 8 views
5

Uso molti messaggi ad es. message("dadida") in uno dei miei projets, e sta diventando fastidioso vedere tutto questo testo rosso ovunque, chiedendomi sempre se c'è un errore o un avvertimento nascosto da qualche parte.in R/RStudio in esecuzione su Windows, è possibile che message(), warning() e error() utilizzino colori diversi nella console?

Ho bisogno di questi messaggi nel prodotto finale, quindi non posso semplicemente rimuoverli. Ma se ci fosse un modo per far apparire messaggi, avvertimenti ed errori in diversi colori nella console, questo risolverebbe il mio problema. Non ho trovato un modo per farlo.

Modifica

Grazie a tutti per il vostro input. Non mi ero reso conto che il colore rosso per tutti quei tipi di messaggi era specifico per RStudio. Nel RGui, tutto è semplicemente testo bianco. Se la personalizzazione dei colori non è fattibile in RGui, forse è in RStudio?

+1

Se si è su Linux, questo pacchetto sembra cambiare i colori ... http://www.lepem.ufc.br/jaa/colorout.html – user3969377

+0

Oh è così sfortunato, ho bisogno di lavorare su Windows per questo progetto. Questo è esattamente ciò di cui ho bisogno! –

+1

Se si digita messaggio, avviso e si interrompe al prompt della console, è possibile visualizzare le funzioni che vengono eseguite quando si verifica un messaggio/avviso/errore. Sospetto che queste funzioni possano essere modificate per cambiare gli attributi del testo come colore/carattere. – user3969377

risposta

3

Mentre non sono a conoscenza di un modo di personalizzare l'output in RGui o RStudio per Windows, l'utilizzo di cat() anziché di messaggio() eviterà il testo rosso in RStudio. Invece di usare

message("Hello!") 

uso

cat("Hello!\n") 

(notare il \ n che è necessario per ottenere una nuova linea).

Ci sono alcune sottili differenze tra message() e cat(), che possono essere rilevanti quando si sta reindirizzando l'output, ad es. a un documento LaTeX usando Sweave, quindi cat() potrebbe non essere un sostituto adatto in tutte le impostazioni.