2017-08-09 12 views
1

コマンドラインからRコマンドを実行したい(実際はMakefile内から)。関連がある場合、コマンドはroxygen2::roxygenise()です。私は新しいファイルを作成し、それをスクリプトとして実行したくありません。それは私のディレクトリを乱雑にします。 Pythonでは、これは簡単です - python -c "import antigravity"と書いてください。 私は作業中の(Rcpp)パッケージをビルド、インストール、テストするためにMakefileを使用します。Rを入力せずにスクリプトを使わずにRコマンドを実行する

+2

'R -e" roxygen2 :: roxygenise() "'は、指定された式を評価します。起動メッセージが気にならない場合、 '--slave'は式の出力を除くすべてを抑制します。 [littler](http://dirk.eddelbuettel.com/code/littler.html)も別の可能性です。 – alistaire

+0

@alistaire素晴らしい、ありがとう! –

答えて

1

これは一般に「shebang scripts」で行われます。

歴史的には、littlerが最初に存在し、約10年ほど前です。それはまだ広く使われていて、あなたが望むものだけを実行するroxy.rのようないくつかのヘルパースクリプトが含まれています:roxygen2::roxygenize()を実行してください。私はこれをいつも使っています。

次に、RscriptはRと一緒に出荷されました。これはlittlerに似ていますが、Rがプラスであれば自動的に利用できます。マイナス側では、起動が遅く、多くのバグレポートやSOの質問のソースであるmethodsパッケージを読み込めません。

さらに最近では、R自体が-e ...スイッチの後に式を実行する機能を追加しました。

あなたにはたくさんの選択肢があります。 src/Makevarsファイルの多くを勉強することもでき、その多くはRscriptです。