I have a working R function written as:
library(data.table)
mutate_dt = function (.data, ..., by)
{
dt = as.data.table(.data)
substitute(dt[, `:=`(...), by][]) %>% eval()
}
However, I could not use this function in other functions. For example:
t_f = function(dt,x){
mutate_dt(dt,a = x)
}
t_f(iris,1)
#> Error in eval(jsub, SDenv, parent.frame()): object 'x' not found
Is there any way that I can make it work?