Considere o seguinte MWE:
df <- data.frame(a=c(TRUE, TRUE, FALSE), b=c(FALSE, TRUE, FALSE))
myvars <- c("a","b")
O objetivo é construir uma coluna c
que seja VERDADEIRA em cada linha se um ou ambos a
e b
forem VERDADEIROS.
É necessário que a lista de variáveis a serem usadas seja mantida pelo caractere vetorial myvars
.
Com
df %>% mutate(c=if_any(myvars))
Eu entendo:
! Using an external vector in selections was deprecated in tidyselect 1.1.0.
ℹ Please use `all_of()` or `any_of()` instead.
# Was:
data %>% select(myvars)
# Now:
data %>% select(all_of(myvars))
See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
Diante disso, tenho que fazer:
df %>% mutate(c=if_any(any_of(myvars)))
df %>% mutate(c=if_any(all_of(myvars)))
Mas não entendo a diferença entre os dois.
if_any
deveria implicar any_of
.
Qual é a diferença entre os dois?