Mukku John Blog

取り組んでいること を つらつら と

Rプログラミング入門 3回目

Rプログラミング入門 3回目。独自関数。

 

独自関数

自分で関数を作りましょう。のお話し。

 

 この記事で、「サイコロを2回振った時をシミュレート」をする事ができました。

mukkujohn.hatenablog.com

次に、「出た目の合計」を求めます。

合計を求めるには、sum関数を用います。

RStudio

f:id:MukkuJohn:20160622222120p:plain

R Tools for Visual Studio

f:id:MukkuJohn:20160622222138p:plain

 この時のオブジェクトの状態がこちら。

RStudio

f:id:MukkuJohn:20160622222220p:plain

R Tools for Visual Studio

f:id:MukkuJohn:20160622222242p:plain

(前の記事でも記載しましたが、オブジェクトの値を見るには、VSの方が良さげ。)

 

当然ですが、dice <- sample(die,2,replace = TRUE)した時に、diceオブジェクトの値が

確定します。

 

そのため、同じ手順(同じコマンド)で、

サイコロを2回振った時をシミュレート」して、「出た目の合計」を求めるには、

毎度毎度、diceオブジェクトにサイコロを2回振った時をシミュレート」した結果を入れなおし、毎度毎度、sum(dice)する必要があります。

 

 

これはめんどくさいです。コマンドが2行になるのが嫌です。

毎度毎度、diceオブジェクトに入れ直し、その都度、sum関数を使う。

1行でやりたんです。

 

そこで独自関数。

独自関数の記載の仕方は、「my_function <- function() { } 」です。「{ここに関数の内容を記載します。}

RStudio

f:id:MukkuJohn:20160622222843p:plain

R Tools for Visual Studio

f:id:MukkuJohn:20160622222904p:plain

関数名:roll

本体:

dieオブジェクトに1:6のベクトルを入れる

diceオブジェクトに、dieオブジェクトの中から2要素をランダムに取得する。

sum関数で、diceオブジェクトの値を合計する

 

その時のオブジェクトはこうなっています。

RStudio

f:id:MukkuJohn:20160622223420p:plain

R Tools for Visual Studio

f:id:MukkuJohn:20160622223430p:plain

RStudioでは、Functionsのカテゴリの中にroll関数が表示されます。

R Toos for Visual Studioでは、「Value」 「Class 「Type」を見ると、関数であることが分かります。

 

さらに、RStuidoではEnvironmentエクスプローラーで、関数を選択すると関数の中身が見れます。

RStudio

f:id:MukkuJohn:20160622223741p:plain

(関数オブジェクトを見るには、RStudioの方が、使いやすいです。)

 

これで、roll関数を呼ぶだけで、

サイコロを2回振った時をシミュレート」して、「出た目の合計」を得られます。

RStudio

f:id:MukkuJohn:20160622224016p:plain

R Tools for Visual Studio

f:id:MukkuJohn:20160622224035p:plain

 

今日はここまで。