我有一个字段名称的字符向量,我想用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
我很困惑如何让它发挥作用。有什么建议? 谢谢
答案 0 :(得分:9)
如果您使用select:
select(mtcars, one_of(fie))
答案 1 :(得分:6)
您应该使用该函数的标准评估版本的.dots=
参数。
select_(mtcars, .dots=fie)