ifelse
はR言語の基本関数の一つで、条件に基づいて異なる値を返すために使用されます。この関数はベクトル化されており、ベクトルの各要素に対して条件をテストし、それに応じて別々の値を返します。
ifelse
関数の基本的な構文は以下の通りです:
ifelse(test_expression, yes, no)
test_expression
: これは論理式で、TRUEまたはFALSEを返します。yes
:test_expression
がTRUEの場合に返される値。no
:test_expression
がFALSEの場合に返される値。
使用例
例えば、mtcars
データセットのmpg
(マイル/ガロン)列の値が20を超える場合は"High"、そうでない場合は"Low"という新しい列を作成する場合、以下のように書きます:
library(dplyr)
mtcars %>%
mutate(fuel_efficiency = ifelse(mpg > 20, "High", "Low"))
この例では、ifelse
関数がmpg > 20
という条件をテストし、この条件がTRUEであれば"High"
を、FALSEであれば"Low"
をfuel_efficiency
という新しい列に追加します。
ifelse
関数は、データフレーム内の条件に基づいて値を分類する際に非常に便利です。特に、dplyr
パッケージのmutate
関数と組み合わせて使用されることが多いです。