如何使用dplyr的select函数选择多个字段

4

我有一个字段名称的字符向量,想要使用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

我不太清楚如何让这个工作起来。有什么建议吗? 谢谢

2个回答

9
如果您使用select:
select(mtcars, one_of(fie))

谢谢。你的答案非常好用。但是这个函数 "one_of()" 是什么?我在任何帮助文本中都找不到它:dplyr,R Help。 - hackR
1
@hackR 请查看 select 的帮助页面,以查看所有与其配合使用的特殊函数(包括 one_of)。 - aosmith

6
你应该使用函数的标准评估版本中的 .dots= 参数。
select_(mtcars, .dots=fie)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接