采取以下 MWE:
df <- data.frame(a=c(TRUE, TRUE, FALSE), b=c(FALSE, TRUE, FALSE))
myvars <- c("a","b")
目的是构建一个当和为 TRUE 之一或两者为 TRUE 时c
按行排序为 TRUE 的列。a
b
要求使用的变量列表由向量字符保存myvars
。
和
df %>% mutate(c=if_any(myvars))
我得到:
! 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>.
鉴于此,我必须这样做:
df %>% mutate(c=if_any(any_of(myvars)))
df %>% mutate(c=if_any(all_of(myvars)))
但我不明白这两者之间的区别。
if_any
应该意味着any_of
。
两者有何区别?