R 为什么要使用'all_of'来选择列?

R 为什么要使用'all_of'来选择列?,r,dataframe,tidyverse,tibble,R,Dataframe,Tidyverse,Tibble,我目前正在使用R,在tidyverse中遇到了函数all\u of。这个函数存在的目的是什么?似乎我可以在所有可以使用的地方使用x 示例: 图书馆(tidyverse) tb%选择(x) tb%>$select(-x中的所有) tb%>%选择(-x) 带有all_of的两行产生的返回值与没有额外函数的两行相同。我为什么要麻烦使用它们呢?这是一个非常好的问题 这是为了在选择列时明确您真正想要的内容。想象一下这种简单的情况: library(tidyverse) tb <- tibble(

我目前正在使用R,在tidyverse中遇到了函数
all\u of
。这个函数存在的目的是什么?似乎我可以在所有可以使用的地方使用
x

示例:

图书馆(tidyverse)

tb%选择(x)
tb%>$select(-x中的所有)
tb%>%选择(-x)

带有
all_of
的两行产生的返回值与没有额外函数的两行相同。我为什么要麻烦使用它们呢?

这是一个非常好的问题

这是为了在选择列时明确您真正想要的内容。想象一下这种简单的情况:

library(tidyverse)

tb <- tibble(x = 1:3, y = 1:3, z = 1:3)
x <- c("x", "y")

tb %>% select(x)
库(tidyverse)

tb所以当我想选择存储在一个变量中的列,而该变量的名称也是一个列时,
的所有_都是有用的。我应该一直用它作为标准吗?没错!当提到外部向量时,是的,你们可能应该把它作为一个好的标准。我认为不使用它会向控制台打印一条警告消息。
library(tidyverse)

tb <- tibble(x = 1:3, y = 1:3, z = 1:3)
x <- c("x", "y")

tb %>% select(x)