Wie erfasst man die Ausgabe von system ()
Diese Frage wurde motiviert vonRmarkdown gibt die Ergebnisse des Systembefehls nicht in die HTML-Datei aus. Aus irgendeinem Grund ist die Ausgabe vonsystem()
in R (odersystem2()
) kann nicht von @ erfasst werdsink()
odercapture.output()
, also momentan gibt es keine Möglichkeit für knitr, um die Ausgabe aufzuzeichnen. Zum Beispiel in der R-Konsole:
> system('ls')
DESCRIPTION
NAMESPACE
R
README.md
inst
man
aber in einem knitr document, die Ausgabe wird nicht angezeigt, dacapture.output(system('ls'))
istcharacter(0)
, d. h. die Ausgabe kann nicht erfasst werden. Natürlich kann ichcat(system('ls', intern = TRUE), sep = '\n')
wie ich in der Antwort auf diese Frage erwähnt habe, aber das ist irgendwie umständlich. Ich frage mich, ob es eine Möglichkeit ist, die Ausgabe von @ zu erfassesystem()
ohne zu benutzenintern = TRUE
undcat()
.
Aktualisiere: sehenhttps: //github.com/yihui/knitr/issues/120 für einen Hack, den ich bereitgestellt habe, um das Problem zu lösen.