if文による場合分け

基本形

if(条件) {条件が真(TRUE)の場合に実行するブロック}

x <- 6
if(x > 5) "xは5より大きいです"
## [1] "xは5より大きいです"
x <- 3
if(x > 5) "xは5より大きいです"  # 条件式が偽(FALSE)の場合は、何も実行されない

偽の場合の実行内容も記述する

ifelse(条件1, 条件が真(TRUE)の場合に実行するブロック, 条件が偽(FALSE)の場合に実行するブロック)

x <- 6
ifelse(x > 5, "xは5より大きいです", "xは5以下です")
## [1] "xは5より大きいです"
x <- 3
ifelse(x > 5, "xは5より大きいです", "xは5以下です")
## [1] "xは5以下です"

for文による繰り返し

for (ループ変数 in 繰り返し集合) 実行内容

x <- c(1, 2, 3)
for(i in 1:3) print(x[i] + 1)
## [1] 2
## [1] 3
## [1] 4

再帰的な場合を除き、forを避ける方が良い。

x <- c(1, 2, 3)
x + 1
## [1] 2 3 4

while文による繰り返し

while (継続条件) {ブロック}

繰り返し対象のデータ構造が未確定の場合や、終了条件が複数ある場合に利用する。

su <- 0
i <- 1
while (su < 5) {
  su <- su + i
  i <- i + 1
}
su
## [1] 6

ループの打ち切り(break)

x <-1:5
for(i in 1:5){
  if(x[i] > 3) break
  print(x[i])
}
## [1] 1
## [1] 2
## [1] 3

「データから価値を創造する」一般社団法人データマーケティングラボラトリー

Copyright© DML All Rights Reserved.