在dplyr返回异常中选择

在dplyr返回异常中选择,r,select,dplyr,tidyverse,rlang,R,Select,Dplyr,Tidyverse,Rlang,我面临以下例外情况: library(tidyverse) library(dplyr) library(rlang) data(mtcars) select_expr = "mpg , cyl" mtcars %>% select_(select_expr) Error in parse(text = x): <text>:1:5: unexpected ',' 1: mpg , ^ 库(tidyverse) 图书馆(dplyr) 图书馆(rlang

我面临以下例外情况:

library(tidyverse)
library(dplyr)
library(rlang)

data(mtcars)

select_expr = "mpg , cyl"

mtcars %>% select_(select_expr)

Error in parse(text = x): <text>:1:5: unexpected ','
1: mpg ,
        ^
库(tidyverse)
图书馆(dplyr)
图书馆(rlang)
数据(mtcars)
选择_expr=“mpg,气缸”
mtcars%>%select(select expr)
分析时出错(text=x)::1:5:意外','
1:mpg,
^

我做错了什么?

你犯了一个我也经常犯的错误,只是在字符串中添加了两个提取重音

library(tidyverse)
library(dplyr)
library(rlang)

data(mtcars)

select_expr = c("mpg" , "cyl")

mtcars %>% select(select_expr)

你犯了一个我经常犯的错误,只是在字符串中添加了两个提取重音

library(tidyverse)
library(dplyr)
library(rlang)

data(mtcars)

select_expr = c("mpg" , "cyl")

mtcars %>% select(select_expr)

dplyr的
*.
函数正逐渐被弃用。上面的等价物可能是
select\u expr%select(!!!syms(select\u expr))
,不过在这种情况下,您也可以使用tidyselect帮助程序:
mtcars%>%select(一个(select\u expr))
在单个字符串中存储多个名称不是一个好主意,因为它不容易转换回可运行的代码。名称向量(无论是字符串、表达式、QUOSURE还是其他什么)更易于使用。dplyr的
*.\uuu
函数正逐渐被弃用。上面的等价物可能是
select\u expr%select(!!!syms(select\u expr))
,不过在这种情况下,您也可以使用tidyselect帮助程序:
mtcars%>%select(一个(select\u expr))
在单个字符串中存储多个名称不是一个好主意,因为它不容易转换回可运行的代码。名称向量(无论是字符串、表达式、quosure还是其他什么)更容易使用。它只打印“mpg”,只打印“mpg”