Wie wird ein R-Skript ausgeführt, das die Sitzung interaktiv macht? Die Dokumentation in ?interative
sagen, dass --ess
und --interactive
dies steuern, aber ich sehe keinen Effekt.Interaktive R-Sitzung erzwingen
Fenster:
C:\Program Files\R\R-3.0.1\bin>R -e "interactive()" --ess -s
[1] FALSE
Mac:
$ R -e "interactive()" --interactive -s
[1] FALSE
Irgendwelche Gedanken?
EDIT: Ich nehme an, kann auf die Basis Namespace hacken, die für einige Dinge (wie install.packages) funktionieren kann. Aber das ist eine schlechte Ausrede für eine Lösung ...
$ R -e "unlockBinding('interactive',as.environment('package:base'));assign('interactive',function() TRUE,envir=as.environment('package:base'));base::interactive()" --interactive -s
[1] TRUE
Warum müssen Sie ein Skript ausführen, in dem 'interactive()' wahr ist? –
Wenn Sie Benutzereingaben benötigen, können Sie 'file (" stdin ")' verwenden. Dies unterscheidet sich von der Verwendung von 'stdin()', das beim Ausführen eines Skripts übersprungen wird. –
@MatthewPlourde: Es kommt für einige andere Dinge wie Standard-Grafikgeräte und was nicht. –