2015-09-16 87 views
0

我試圖創建一個函數,它使用dplyr裏面。但是,我似乎無法弄清楚如何從data.frame中選擇一列。我試圖做這樣的事情例如:選擇列匹配字符串名稱dplyr

test_df <- data.frame(A=1:30) 
my_function <- function(x, var){ 
    x %>% 
     summarize(my_mean = mean(var)) 
} 
my_function(test_df, "A") 

將會產生這個錯誤:

警告消息: 在mean.default(「A」):參數不是數字或邏輯:返回NA 。

任何想法如何解決這個問題?

回答

1

可能是解決這個問題的最簡單的方法,就是從.到子集:

my_function <- function(x, var){ 
    x %>% 
     summarize(my_mean = mean(.[[var]])) 
} 
+0

感謝;很簡單!應該自己想到這個... – Alex