Exploratoryを7.0にアップグレードした後、if_else関数でNULLを使った場合、動作しなくなり、`false` must be a vector, not `NULL`というエラーが出る。

問題点

Exploratoryをバージョン7.0にアップグレードした後、計算の作成のステップで以下のようにif_else関数の中でNULLを使用すると動作せず、エラーが発生します。

if_else(str_detect(description, "Exploratory"), amount - tax, NULL, missing = NULL)

具体的には、以下のようなエラーが表示されます。これは、dplyrのR パッケージが if_else関数に NULL を渡せなくなったためです。 (参照: if_else throws false must be a vector, not NULL. error for dplyr 1.1.0 · Issue #6730 · tidyverse/dplyr · GitHub)

image

Error in mutate(., without_tax = if_else(str_detect(description, "Exploratory"), : ℹ In argument: `without_tax = if_else(...)`. Caused by error in `if_else()`: ! `false` must be a vector, not `NULL`.

解決策

以下のスクリプトのように、NULL ではなくNAを渡すように変更することで、エラーを回避することが可能です。

if_else(str_detect(description, "Exploratory"), amount - tax, NA, missing = NA)
「いいね!」 1