コマンドラインからの実行

Rに付属の 'Rscript' を利用するとJAVAやPerlやC言語等のその他のプログラミング言語と同じようにコマンドラインからプログラムを実行することができる。Rscript は最も簡単にはコマンドラインにて 'Rscript プログラム.R 引数1 引数2 引数3 ...' のように使用する。

コマンドラインを用いて標準出力に 'Hello' と表示させるためには、最初に以下のようなファイル (hello.R) を作成する。

print("Hello")

次に、このスクリプトを実行するには以下のようにする。以下のオプション '--vanilla' はスクリプト起動にあたり、余計なオブジェクト等を読み込まないためのオプションであり、'--slave' はスクリプト実行時に標準出力に表示される情報を最小限に抑えるためのものである。

1|$Rscript --vanilla --slave hello.R

結果は以下のようになる。

[1]"Hello"

Rscript では引数をとることができる。以下のスクリプトは引数2で指定したファイル bar.txt を読み込んで、そのデータを引数1で指定したタイトルをつけてヒストグラム 'baz.png' を描かせるためのものとなる。以下の 'commandArgs(T)' は引数を読み込むための記述であり、これによって変数 argv に引数が1から順に格納される。このとき、読み込まれる引数は全て文字列と認識されるので、数値として認識させたい場合は 'as.numeric(argv[3])' のようにする。

argv=commandArgs(T)

title=argv[1]
dat=scan(argv[2])

png("baz.png")
hist(dat,main=title)
dev.off()

以上のスクリプトを適当な名前 (foo.R) で保存して以下のように実行する。以下の 'DATA' が引数1でヒストグラムのタイトルとして用いたい文字列、 'bar.txt' が引数2であり、今回読み込みたいファイルとなる。

1|$Rscript --vanilla --slave foo.R DATA bar.txt

結果として得られる画像は以下のようになる。文字列 'DATA' をタイトルとするヒストグラムが描かれる。

コマンドライン生成ヒストグラム

また、Rscript は '-e' オプションと共に用いるとワンライナーで使用することができる。以下のように用いる。

1|$Rscript -e "print(100)"

結果は以下のようになる。数値100が出力される。

[1]100
このエントリーをはてなブックマークに追加

Site search

ページのトップへ戻る