Rプログラミング入門 4回目
Rプログラミング入門 4回目。引数とスクリプト。
引数
独自関数に引数をもたせましょう。なお話し。
とりあえず、前回の記事で作成したroll関数から。
RStudio
R Tools for Visual Studio
この関数、1:6のベクトルから、元に戻すサンプリングで2個要素を抽出しますが、
1:6の部分を変えたいなーとか思います。ついでに抽出要素も変えたいなーとかね。
そこで、引数です。
引数は、関数の「()」の部分にオブジェクトを渡す書き方をします。
RStudio
R Tools for Visual Studio
roll2関数にbonesオブジェクトを渡し、関数の本体で、bonesオブジェクトを利用しています。
roll2関数を呼ぶ際には、roll2(1:6)や、roll2(1:20)などのように、ベクトルを指定します。
C#とかと比較すると、型が分からないのが嫌なところ。
引数を指定しないとこうなります。
RStudio
R Tools for Visual Studio
どちらも関数内でエラーになった本体の箇所と、理由が表示されます。
「引数"bones"がないぞ、デフォルトでもないし。」と。
なら、デフォルト値を持つ引数にしておきましょう。
デフォルト値を持つ引数
定義は簡単。function(bones) ⇒ function(bones = 1:6)とするだけ。
RStudio
R Tools for Visual Studio
roll2オブジェクトに再定義を行いました。
これで、roll2()と呼び出しても、bones = 1:6 として動いてくれます。
このデフォルト値を持つ関数の指定について、IDEの違いがありました。
RStudio
R Tools for Visual Studio
RStudioはbones引数があって、しかもデフォルト値が1:6と教えてくれます。
R Tools for Visual Studioは教えてくれません。。。
RStudioの方が、使い勝手がよさげですね。
スクリプト
独自関数は、便利です。
独自関数を割り当てたオブジェクトがある間は、何度でも、関数名をコマンドに書くだけで使用できます。
ただ。オブジェクトがなくなると、また1から記載してオブジェクトを作らないといけません。
少なくとも、前回の記事でもroll関数を作り、今回の記事でもroll関数を作りで、2度作っています。
めんどくさいです。だから、ファイルに保存しましょう。なだけです。
RStudio
File -> New File -> R Scriptを選択します。
すると、スクリプトのエディターが開きます。
エディターにコマンドを記載します。
Run ボタンは選択している行を実行します
Sourceボタンは全体を実行します。
Sourceボタンを押すと、このスクリプトが実行されます。
保存はこちら。適切なフォルダとファイル名をつけます。
これで、次回からこのファイルを開けば、roll関数を作るために、毎回毎回同じコマンドを入力する必要がなくなります。
R Tools for Visual Studio
こちらは方法的にこれで良いか不明です。。。
VSを使うなら、他言語と同様に、プロジェクト作って、中にファイル入れる形。
ファイル -> 新規作成 -> プロジェクトを選択します。
R Projectを選択します。
RStudioと同様に、スクリプトエディタが開きます。
その時のソリューションエクスプローラーがこちら。
スクリプトエディタ上に記載します。
スクリプト全体を実行するにはこのボタン。↓にファイルマーク。
source(~Rファイル)の後、roll2オブジェクトが生成されます。
今日はここまで。