dplyr::case_when()
ドキュメントに与えられた例を次に示します。dplyrでの評価:: case_when()
x <- 1:50
case_when(x %% 35 == 0 ~ "fizz buzz",
x %% 5 == 0 ~ "fizz",
x %% 7 == 0 ~ "buzz",
TRUE ~ as.character(x))
私は数35
が"buzz"
を生み出すことを期待していますが、"fizz buzz"
私の推論は、そのcase_when()
評価さで生成以前のものが真であるかどうかにかかわらず、すべてのステートメントは1つずつ(最後のものであるTRUE ~ as.character(x)
を評価するため)、35 %% 7
は明らかに0です。
私は何が欠けていますか?
ステートメントは順番に評価され、最初のステートメントと一致するものは最初の結果が得られ、後の結果では上書きされません。 – Marius
私はまだこの最後のステートメントTRUE〜as.character(x)が評価される理由として困惑しています。 – tictocchoc
35,5または7で割り切れない 'x'値があります - したがって、最初の3つのステートメントが処理された後も処理される値が残っています。あなたがまだ混乱している場合は、何か他のことが起こっていると思われる理由をより詳しく説明できますか? – Marius