説明
ある論理式の判定結果に基づき返り値を返す。
論理式の判定結果がTRUEであれば引数yesの要素を、FALSEであれば引数falseの要素を返す。
使用法
ifelse(test, yes, no)
引数
test:論理値に変換可能なオブジェクト
yes: test引数の結果がTRUEである場合の返り値
no: test引数の結果がFALSEである場合の返り値
詳細
yes引数あるいはno引数の短すぎる場合(これらの要素数がtest引数の要素数より少ない場合)、yes/no引数の要素はリサイクルして使用される。
yesの値はtestの結果がTRUEの場合のみ、noの値はtestの結果がFALSEの場合のみ評価される。
testの要素が欠損値の場合、返り値も欠損値(NA)となる。
返り値
test引数のオブジェクトと長さと属性(dimensionとclassを含む)の等しいベクトル及び、yes引数あるいはno引数からのデータ値。
if~else…構文との比較
Rでは通常の条件分岐構文はは以下のように書く。
if(test) yes else no
testの要素数が1の場合(1つの条件式のみを判定する場合)、ifelse()関数よりもif~else…構文を使用した方がパフォーマンスに優れている。
従ってifelse()関数を使用を考慮するのは、複数の条件式を連続的に判定するロジックの場合である。
コメント