2015-06-18 37 views
3

我有一個字符向量的字段名稱,我想選擇使用dplyr。我正在使用select_()的下劃線版本。如何使用選擇使用dplyr的多個字段

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 

我很困惑,如何得到這個工作。有什麼建議麼? 謝謝

回答

6

如果使用select:

select(mtcars, one_of(fie)) 
+0

謝謝。你的回答很好。但是這個函數「one_of()」是什麼?我找不到任何幫助文本:dplyr,R幫助, – hackR

+0

您可以在:http://cran.r-project.org/web/packages/dplyr/dplyr.pdf –

+1

@hackR請參閱幫助頁面爲'select'來查看所有可以使用它的特殊函數(包括'one_of')。 – aosmith

6

您應該使用.dots=參數的標準評估版本的功能。

select_(mtcars, .dots=fie) 
+0

非常感謝。你的回答很好。 – hackR