Sto scrivendo un pacchetto R con un codice C++ che esegue lunghi calcoli. All'interno del codice C++, sto usando Rprintf() per produrre informazioni. Ho provato a sopprimere l'output da R con suppressMessages(), ma questo non funziona, i messaggi appaiono ancora all'interno della sessione R.R: sopprimere messaggi da Rprintf in C++
Ho trovato alcune domande simili, in cui le persone utilizzavano printf anziché Rprintf, ma sto già utilizzando Rprintf. Ho anche provato R_ShowMessage(), che viene anche visualizzato immediatamente e non soppresso da suppressMessages().
Ecco qualche esempio di codice C++:
#include <R.h>
extern "C" {
void R_testprint()
{
Rprintf("Try to suppress me!\n");
R_ShowMessage("Try to suppress me, too!");
}
}
E la funzione che chiama questo codice:
test.print <- function(string) {
res <- .C("R_testprint")
}
Ora, il seguente codice R non sarà eliminare l'output:
> suppressMessages(test.print())
Try to suppress me!
Try to suppress me, too!
Sto usando R versione 3.1.0
Apprezzo qualsiasi aiuto!
Potrebbe esserci il codice C++? –
Ho aggiunto un esempio. – chakalakka