如何使用 dplyr 对多个字段使用 select
how to use select for multiple fields using dplyr
我有一个字段名称的字符向量,我想 select 使用 dplyr。我正在使用 select_().
的下划线版本
select(mtcars, mpg) # works OK
select(mtcars, mpg, disp, am) # works OK for multiple fields
现在让我们使用下划线版本
fie <- c("mpg")
select_(mtcars, fie) # works OK for one
fie <- c("mpg", "disp", "am")
select_(mtcars, fie) # problem: only returns one column
select_(mtcars, ~fie) # problem: doesn't work
我对如何让它发挥作用感到困惑。有什么建议么?
谢谢
您应该使用函数标准评估版的.dots=
参数。
select_(mtcars, .dots=fie)
如果你使用select:
select(mtcars, one_of(fie))
我有一个字段名称的字符向量,我想 select 使用 dplyr。我正在使用 select_().
的下划线版本select(mtcars, mpg) # works OK
select(mtcars, mpg, disp, am) # works OK for multiple fields
现在让我们使用下划线版本
fie <- c("mpg")
select_(mtcars, fie) # works OK for one
fie <- c("mpg", "disp", "am")
select_(mtcars, fie) # problem: only returns one column
select_(mtcars, ~fie) # problem: doesn't work
我对如何让它发挥作用感到困惑。有什么建议么? 谢谢
您应该使用函数标准评估版的.dots=
参数。
select_(mtcars, .dots=fie)
如果你使用select:
select(mtcars, one_of(fie))