R言語 if_elseの挙動について
以下のデータフレーム ex があります。
ex
name score test rank
1 john 80 0 4
2 taro 60 0 3
3 betty 70 NA 2
4 hanako 50 0 1
testがNAのとき、rankもNAにしたいとき
mutate(ex,rank = if_else(test == 0,true = rank,false = NA))
と入力するとエラーが出る一方、
mutate(ex,rank = if_else(test == 0,true = rank,false = 0))
と入力すると望んだ結果が得られます。
どうしてこのようなことになるのか、教えていただければ幸いです。