【R言語】スクリプトを作る
おはようございます。こんにちは。こんばんは。
借金エンジニアです。
前回はR言語で関数を作りました。 www.shakkinengineer.com
今回はスクリプトを作ってみたいと思います。
スクリプトとは?
正しくはないかもしれませんが、R言語のスクリプトは関数をファイルにして保存したもの、だと思っています。
関数が作ることができれば、スクリプトも作ることができます。
スクリプトにするメリットはなんでしょうか?
繰り返し使えたり、他のスクリプト・関数から呼び出して使えたり、ファイルなので他の人と共有できたり。
そんなところでしょうか。
別の機会に書きたいと思っていますが、R言語でWebアプリケーションを作ることもできるのですが、これもスクリプトを作って、サーバー上で動かします。
スクリプトを作る
では、さっそく作ってみましょう!
スクリプトを新規で作る時はRstudioの左上のメニューから作ります。
「R script」を選択すると、エディター画面が新しく開きます。
エディターで関数を書いて、保存するとスクリプトができます。
簡単ですね!
前回作った関数と同じ、「引数の合計+平均値」を求めるスクリプトにしてみます。
書き方は関数と全く同じ内容をエディターに書いただけです。
あとは、フロッピーディスクのアイコンを押して、保存するだけです。
ファイル名は通常は「関数名.R」にしますので、この場合、fx.Rとしました。
(いつまで保存アイコンにフロッピーが使われるのだろうか。。。)
スクリプトを使う
次に作ったスクリプトを使ってみましょう!
まずは、コンソールのワーキングディレクトリーをスクリプトファイルを保存した場所に設定します。
ワーキングディレクトリーはsetwd("PATH")
で設定します。
Rstudioだと、右下のウィンドウの「Files」タブの中で保存した場所に移動し、歯車アイコンを押して表示される「Set As Working Directory」を選択することでも設定できます。
次にスクリプトを使いますよーという宣言をします。宣言はsource("スクリプト名.R")
コマンドを実行します。
あとは関数と同じで、スクリプト名(引数)
で実行します。
実行する時は拡張子「.R」は不要、引数が必要ないスクリプトでも()は必要です。
引数で使うベクトルの作成〜宣言〜スクリプトの実行 の流れはこうなります。
> a <- c(1,2,3,4,5,6,7,8,9,10) > source("fx.R") > fx(a) [1] 60.5 >
簡単ですね〜。
おわりに
いかがでしたでしょうか? 関数とほぼ同じでしたね。まぁ、コンソール上で関数を作る人はほとんど居なくて、みんなスクリプトをエディターで作って、使用してるんだろうな〜とは思います。繰り返し使えるし、他の関数からでも呼び出して使えるし、スクリプトにしない理由はない。(たぶん)
以上でーす。