This question links to this SO answer except that here I want to use the variable specified as function arg in a mutate_(). It works if I don\'t make any \"calc
mutate_()
You have to use lazy evaluation (with the package lazyeval), for example like this:
lazyeval
library(lazyeval) func2 <- function(df, varname){ df %>% mutate_(v3=interp(~sum(x), x = as.name(varname))) } func2(data, "v1") # v1 v2 v3 #1 1 3 3 #2 2 4 3