R言語では、プログラムの流れを制御するために条件分岐とループ構文が非常に重要です。このガイドでは、条件分岐構文であるif-else文と、繰り返し処理を行うforループおよびwhileループの使い方について詳しく解説します。サンプルコードと実行結果を交えながら、これらの構文がどのように利用されるかを説明していきます。
1. 条件分岐 (if-else文)
R言語では、条件分岐を使用して、特定の条件に応じて異なる処理を行うことができます。基本的な構文は以下の通りです:
# if-else文の基本構文 x <- 10 if (x > 5) { print("xは5より大きい") } else { print("xは5以下") }
上記のコードでは、x
が5より大きい場合に「xは5より大きい」と表示され、それ以外の場合には「xは5以下」と表示されます。実行結果は次の通りです:
[1] "xは5より大きい"
1.1 複数条件を使用したif-else文
複数の条件を使用したい場合、else ifを追加することができます。次の例を見てみましょう:
# else ifを使った条件分岐 y <- 20 if (y > 30) { print("yは30より大きい") } else if (y > 10) { print("yは10より大きい") } else { print("yは10以下") }
このコードでは、y
が30より大きければ最初の条件が、10より大きければ2番目の条件が実行されます。今回の場合、y = 20
なので次の結果が得られます:
[1] "yは10より大きい"
2. 繰り返し処理 (ループ構文)
Rでは、繰り返し処理を行うためにforループとwhileループが利用されます。これらの構文は、データセットに対して一連の操作を実行する際に非常に役立ちます。
2.1 forループ
forループは、指定した範囲内で繰り返し処理を実行します。次に、1から5までの数字
を繰り返し表示する例を示します:
# forループの例 for (i in 1:5) { print(i) }
このコードでは、1
から5
までの数字が順番に表示されます。結果は以下の通りです:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5
2.2 whileループ
whileループは、指定された条件がTRUE
である限り処理を繰り返します。以下の例では、x
が5未満である間、x
を1ずつ増やして表示します:
# whileループの例 x <- 1 while (x < 5) { print(x) x <- x + 1 }
このコードを実行すると、x
が5未満である間、次のように表示されます:
[1] 1 [1] 2 [1] 3 [1] 4
3. breakとnext
ループを途中で終了したい場合には、break
を使用し、特定の条件をスキップしたい場合にはnext
を使用します。以下の例を見てみましょう:
# breakを使用した例 for (i in 1:5) { if (i == 3) { break } print(i) }
このコードは、i
が3になった時点でループを終了します。結果は次のようになります:
[1] 1 [1] 2
# nextを使用した例 for (i in 1:5) { if (i == 3) { next } print(i) }
上記のnext
の例では、i
が3の場合をスキップし、それ以外はすべて表示されます。結果は次の通りです:
[1] 1 [1] 2 [1] 4 [1] 5
まとめ
R言語における条件分岐とループ構文は、データ分析や統計処理を行う際に非常に重要なツールです。if-else文
を使用して特定の条件に応じた処理を行い、forループ
やwhileループ
を使って繰り返し処理を効率的に実行できます。break
やnext
を組み合わせることで、さらに柔軟な制御が可能です。
これらの構文を理解し、適切に活用することで、R言語でのプログラミング効率を大幅に向上させることができるでしょう。