it-swarm.com.de

Wie druckt man in R auf stderr?

Wie wird in stderr in R gedruckt?

Dies wäre besonders nützlich für Skripte, die in Rscript geschrieben wurden.

45
Frank

Eigentlich funktioniert folgendes für mich:

write("prints to stderr", stderr())

write("prints to stdout", stdout())
50
Frank

Hier ist eine flexiblere Version für die Debugging-/ausführliche Verwendung in Rscript. Es wird nicht nur in stderr gedruckt, wenn Sie dazu aufgefordert werden, sondern es ermöglicht Ihnen auch, die variable Anzahl von Argumenten, Typen usw. zu übergeben, wie printf.

v <- function(...) cat(sprintf(...), sep='', file=stderr())

Jetzt kann man Dinge tun wie:

v("name: %s  age: %d\n", name, age)

usw.

10
arielf

Ist es möglich, die Funktion print Für das Drucken in stderr zu konfigurieren?

Von Ripley selbst :

Nein, aber wenn Standardausgabe verwendet wird, wird Durch sink () gesteuert, sodass Sie Denselben Effekt erzielen können. R intern Hat keine Ahnung, was von Print () ausgegeben wird (was nicht nur eine Funktion ist, sondern Hunderte von Methoden).

7
Galwegian
message('for writing diagnostic info to standard error')

mit dieser Nachricht werden "einfache" Diagnosemeldungen generiert, die weder Warnungen noch Fehler sind, aber dennoch als Bedingungen dargestellt werden. Im Gegensatz zu Warnungen und Fehlern wird eine letzte Zeile als Teil der Nachricht betrachtet und ist optional. Der Standardhandler sendet die Nachricht an die stderr () - Verbindung.

0
De Novo