if(condition, result_if_true, result_if_false)
|
condition を評価し、条件の評価結果が true の場合に result_if_true 、false の場合には result_if_false を返します。
condition は数字でなければなりません。この関数は、0 および空の文字列を false と見なし、それ以外 (NaN を含む) の場合を true と見なします。ブール値は、0 (false) 、1 (true) に変換されます。
この関数から[none] (無し) 定数を返すことで、特定の条件の出力を破棄することができます。つまり、条件を満たさないデータポイントをフィルタリングすることができるのです。詳細については、「データポイントをフィルタリングする」を参照してください。
例
-
if(0, x, y) は変数 y を返す。
-
if(5, x, y) は変数 x を返す。
-
if(gt(temp, 300), x, y) は、変数 x が temp よりも大きい場合、変数 300 を返す。
-
if(gt(temp, 300), temp, none) が temp 以上なら変数 300 を、none が temp より小さいなら (300 値なし) を返す。
1 つ以上の引数が条件関数であるネストされた条件関数UFCSには、 を使用することをお勧めします。if(condition, result_if_true) で条件を評価し、elif(condition, result_if_true, result_if_false) で追加の条件を評価することができます。
例えば、if(condition1,
result1_if_true).elif(condition2, result2_if_true,
result2_if_false) の代わりに if(condition1, result1_if_true,
if(condition2, result2_if_true, result2_if_false)) を使用することができます。
また、追加の中間条件関数を連結することもできます。たとえば、if(condition1, result1_if_true, if(condition2,
result2_if_true, if(condition3, result3_if_true
result3_if_false))) のように複数の if ステートメントをネストするのではなく if(condition1, result1_if_true).elif(condition2,
result2_if_true).elif(condition3, result3_if_true,
result3_if_false) を使用することができます。
elif(condition, result_if_true, result_if_false) では を使用する必要がありますUFCS。
|