我浏览过其他问题,并且知道在大多数情况下,我可以直接将字段名称作为字符串传递,然后使用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