我瀏覽過其他問題,並且知道在大多數情況下,我可以直接將字段名稱作爲字符串傳遞,然後使用d [,column]來訪問這些值。但是,我無法得到它在我的函數使用管道報表工作(該功能將指定的列和輪值到最近20):將列名作爲參數傳遞給管道語句
fun = function(mydata, column) {
new = mydata %>%
mutate(time = plyr::round_any(column, #also tried mydata[,column]
20, f = floor))
return(new)
}
關於如何做到這一點有什麼建議?
請參考下面的joran的回答:我怎樣才能夠添加列名作爲列之間保持不變的列名之間傳遞參數?報價有什麼功能?
E.g.
fun2 = function(d, column, column2) {
d %>%
mutate_(time = interp(quote(plyr::round_any(var,20,f = floor)),
var = as.name(column))) %>%
count_(CONSTANT_COL_NAME, interp(var, var=as.name(column2)), CONSTANT_COL_NAME2) #Line in question
}
看看這個http://stackoverflow.com/questions/30108105/dplyr-standard-evaluation-for-mutate -with-quoted-variable-names – MLavoie