Wenn Sie die Bash-Shell verwenden können, können Sie den R-Code einfach in einem Bash-Skript ausführen und die Streams stdout und stderr an eine Datei weiterleiten. Hier ist ein Beispiel mit einem Heredoc:
Datei: test.sh
echo "Hello World, this is bash"
test1=$(echo "This is a test")
echo "Here is some R code:"
Rscript --slave --no-save --no-restore - "$test1" <<EOF
cat("\nHello World, this is R\n")
args <- commandArgs(TRUE)
bash_message<-args[1]
cat("\nThis is a message from bash:\n")
cat("\n",paste0(bash_message),"\n")
EOF
Wenn Sie dann das Skript mit stderr und stdout ausführen, die an eine Protokolldatei weitergeleitet werden:
$ chmod +x test.sh
$ ./test.sh
$ ./test.sh &>test.log
$ cat test.log
Hello World, this is bash
Here is some R code:
Hello World, this is R
This is a message from bash:
This is a test
Andere Dinge, auf die Sie achten sollten, wären, einfach zu versuchen, stdout und stderr direkt aus dem R heredoc in eine Protokolldatei zu kopieren. Ich habe das noch nicht ausprobiert, aber es wird wahrscheinlich auch funktionieren.