R言語

【R言語】条件分岐 if文・switch文

  1. HOME >
  2. R言語 >

【R言語】条件分岐 if文・switch文

スポンサーリンク

R言語の条件分岐に用いる文について解説していきます。

この記事では条件分岐に用いるif文の使い方や、多条件分岐で用いられるswitch文の使い方について見ていきます。

ここで扱うプログラミングコードは以下からダウンロードできます。

条件分岐

R言語にはif文とswitch文が用意されており、これらを用いること条件分岐を表現することができます。

if文はifelse ifelseを用いた条件分岐であり、switch文は他の言語のcaseなどに相当します。

if文

if文を用いることで条件分岐を表現でき、elseelse ifを用いることで多条件分岐も表すことができます。

if(cond) expr
if(cond) cons.expr else alt.expr

if文
condNAではない長さが1のロジカル型のベクトル(R 4.2.0から長さが1より大きいベクトルの場合エラーとなる)。ロジカル型に変換可能な型についても対応している。
expr, cons.expr, alt.expr{ expr1 ; expr2 }の形式の表現(expression)。

switch文

switch文で多条件分岐を表現することができます。等号の条件を複数並べる際にswitchを使います。

switch(EXPR, ...)
switch文
EXPR数値または文字列に等しいことを意味する表現(expression)。
...その他の条件に関する表現のリスト。

実行例

R言語の条件分岐の実行例をまとめました。

if文の使い方やswitch文の使い方の例を見ることができます。

if文

まず、if文の実行例について見ていきます。

if文は次のようにifの後の()にlogical型の条件式を書き、{}の中に条件下で実行する式を書きます。

xがTRUEであるため、if文中のprintが実行されているのが確認できます。

また、else文を使うことでif文の条件以外のときの処理を表現することができます。

次の例は、xが偶数であるかそうでないかを判定しています。

実行するとxが2で偶数であるため、isEvenがTRUEのままであり、print文で"even"がコンソールに表示されます。

else if文を使うと3つ以上の条件分岐を表現することができます。

下の例は、xが5未満、5以上かつ10未満、10以上であるかを判定しています。

xが6であるため、else if文中でstate_xが"5 ≤ x < 10"になり、printで"greater tnan or equal to 5 and less than 10"がコンソールに表示されます。

switch文

次にswitch文について見ていきます。

switch文を用いることでた条件分岐を表現でき、等号を用いた条件分岐の場合if文を用いるときよりも簡単に記述することが可能です。

以下、switch文の実行例です。switchの最初に等しいかどうか判定するオブジェクトを渡し、2つ目以降に条件とその条件下で実行する式を書きます。

xが"a"であるため、switch文中のb=以降の式が実行され、yが4になりprintで"case of a"と出力されます。

また、=以降の分はEXPR型であればよいため、{}で囲ったものだけでなく関数も渡せます。

次の例は、typeの値によってxに適用する関数を分けています。

typeが"median"であるため、switchを実行するとxの中央値が計算されます。

まとめ

R言語の条件分岐について解説しました。

if文やswitch文を用いることで条件分岐を行うことができます。

if文では他の言語のようにelse ifelseを用いることで様々な条件分岐を構成できます。

switch文では、数値また文字列が等しいかに関する条件分岐にしか対応していないことに注意が必要です。

スポンサーリンク

  • この記事を書いた人
  • 最新記事

usagi-san

統計学とゲームとかをメインに解説していくよ。 数式とかプログラミングコードにミスがあったり質問があったりする場合はコメントで受け付けます。すぐに対応します。

-R言語
-,