関数 f の最初の呼び出しは機能しますが、2 番目の呼び出しは機能しません。関数が想定どおりに機能するように、関数 f に文字列 ("v") を渡すにはどうすればよいですか?
library(data.table)
f<-function(t,x) t[,deparse(substitute(x)),with=F]
dat<-data.table(v="a")
f(dat,v)
# v
# 1: a
f(dat,eval(parse(text="v")))
# Error in `[.data.table`(t, , deparse(substitute(x)), with = F) :
# column(s) not found: eval(parse(text = "v"))