Нам не нужно var2 = TRUE
, вместо этого оно должно быть var2
library(dplyr)
df %>%
mutate(var2 = ifelse(var1 > 0 , NA, var2))
if_else
с указанием типа c, поэтому возможно. необходимо иметь правильный NA
тип, соответствующий типу 'var2'. Предполагая, что это numeric
df %>%
mutate(var2 = if_else(var1 > 0, NA_real_, var2))
Но это также можно сделать с помощью
df %>%
mutate(var2 = replace(var2, var1 > 0, NA))
или case_when
df %>%
mutate(var2 = case_when(var1 > 0 ~ NA_real_, TRUE ~ var2))