2016-07-24 23 views
0

Während der R-Code im Batch-Modus ausgeführt wird, müssen Meldungen/Fehler/Logs aus dem R-Code auf dem Konsolenbildschirm anstelle der .Rout-Datei angezeigt werden.R Batch-Modus: Wie Ausgabe/Fehler von R auf dem Konsolenbildschirm zu sehen?

Ich habe versucht, alle Beiträge (Links kopiert) von Stack-Überlauf und keiner von ihnen zeigen mir gewünschte Ausgabe.

  1. running-r-in-batch-mode-print-to-screen?
  2. unable-to-run-r-script-through-bat-files-in-windows-server
  3. r-cmd-batch-output-in-terminal

Batch Code: i mit tty0 versucht, so gut.

"C:\Program Files\R\R-3.2.2\bin\R.exe" CMD BATCH --slave "Test.R" /dev/tty 

test.r Code

print(1:10) 

Es wird sehr hilfreich sein, wenn einige mir helfen hat, kann die richtige Art und Weise des Schreibens der Code in zeigt die Ausgabe in der Konsole zu zeigen screen.And ich arbeite auf Windows-Umgebung.

Jede Hilfe wird sehr geschätzt, danke.

+0

Ist es nicht der springende Punkt, R im Batch-Modus auszuführen, dass Sie keine Person haben, um zu sehen, was passiert? Batch-Modus ist mehr für automatisierte Analysen. Wenn Sie die Ausgabe anzeigen möchten, suchen Sie in der Protokolldatei oder führen Sie R interaktiv aus. –

+0

@RichieCotton mein Zweck der Ausführung von R-Code im Batch ist es, dritte Person zu veranlassen, R/Rstudio nicht zu öffnen. Und ich muss Zwischenergebnisse sehen, also möchte ich, dass diese Ausgabe im Konsolenbildschirm ist. – PPC

+2

Ich denke, Sie wollen Rscript, nicht R CMD BATCH – shayaa

Antwort

1

Sie können das Protokoll, das Sie drucken möchten, mit stdout oder stderr umleiten. Beispielweise zu tun ist:

write("Hello World!!", stderr()) 

Hier bin ich Umleitung "Hallo Welt!" zu stderr. Wenn Sie stdout() anstelle von stderr() im obigen Codefragment verwenden, sollte idealerweise ein Protokoll in stdout geschrieben werden. Allerdings habe ich einige Probleme beim Schreiben in stdout gesehen.

+0

Danke für Ihre Antwort. Es funktioniert nicht, es zeigt immer noch die Ausgabe in der .Rout-Datei. Ich habe absichtlich eine undeklared Variable "ss" in den Code, so dass es Fehler in der Konsole werfen kann, aber es hat Fehler in der .Rout-Datei.write ("Hallo Welt !!", ss, stderr()) ' – PPC

+0

@ Shaya hat Recht. Bitte führen Sie Ihr R-Skript mit "Rscript " aus und Sie können wie oben beschrieben schreiben. – abhiieor

+0

Vielen Dank für Ihre Antwort .Es funktioniert mit Hilfe von 'Stdout()' – PPC

1

Ich fand eine Lösung für meine eigene Frage mit Hilfe von @shayaa und @abhiieor.

Für den Fall, dass jemand seine Ausgabe in der Konsole sehen muss, sollten sie Rscript anstelle von R CMD BATCH in der ausführbaren .bat-Datei verwenden.

Chargencode:

"C:\Program Files\R\R-3.2.2\bin\Rscript.exe" Test.R 
pause 

test.r Code

print("-Hello World!!",stdout())

In obigem Code stdout() wird umgeleitet auf der Konsole.