dplyr everything() 参数字符串 select_
dplyr everything() argument string select_
我需要在 dplyr
中使用 select
的带下划线的字符串版本以及 everything()
参数。它不工作。
library(dplyr)
#this works just fine
select(iris, Species, everything()) %>% head()
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1 setosa 5.1 3.5 1.4 0.2
2 setosa 4.9 3.0 1.4 0.2
3 setosa 4.7 3.2 1.3 0.2
4 setosa 4.6 3.1 1.5 0.2
5 setosa 5.0 3.6 1.4 0.2
6 setosa 5.4 3.9 1.7 0.4
#this fails
select_(iris, "Species", everything()) %>% head()
Error: No tidyselect variables were registered
我是否缺少 everything
的带下划线的参数?
_
方法即将弃用。相反,我们可以使用 rlang
中的 sym
将其转换为符号,然后计算
library(dplyr)
select(iris, !!rlang::sym("Species"), everything()) %>%
head()
# Species Sepal.Length Sepal.Width Petal.Length Petal.Width
#1 setosa 5.1 3.5 1.4 0.2
#2 setosa 4.9 3.0 1.4 0.2
#3 setosa 4.7 3.2 1.3 0.2
#4 setosa 4.6 3.1 1.5 0.2
#5 setosa 5.0 3.6 1.4 0.2
#6 setosa 5.4 3.9 1.7 0.4
我需要在 dplyr
中使用 select
的带下划线的字符串版本以及 everything()
参数。它不工作。
library(dplyr)
#this works just fine
select(iris, Species, everything()) %>% head()
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1 setosa 5.1 3.5 1.4 0.2
2 setosa 4.9 3.0 1.4 0.2
3 setosa 4.7 3.2 1.3 0.2
4 setosa 4.6 3.1 1.5 0.2
5 setosa 5.0 3.6 1.4 0.2
6 setosa 5.4 3.9 1.7 0.4
#this fails
select_(iris, "Species", everything()) %>% head()
Error: No tidyselect variables were registered
我是否缺少 everything
的带下划线的参数?
_
方法即将弃用。相反,我们可以使用 rlang
中的 sym
将其转换为符号,然后计算
library(dplyr)
select(iris, !!rlang::sym("Species"), everything()) %>%
head()
# Species Sepal.Length Sepal.Width Petal.Length Petal.Width
#1 setosa 5.1 3.5 1.4 0.2
#2 setosa 4.9 3.0 1.4 0.2
#3 setosa 4.7 3.2 1.3 0.2
#4 setosa 4.6 3.1 1.5 0.2
#5 setosa 5.0 3.6 1.4 0.2
#6 setosa 5.4 3.9 1.7 0.4