0

関数 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")) 
4

1 に答える 1