Tôi đã sau data.table
:Đánh giá biểu hiện trong R data.table
> dt = data.table(expr = c("a + b", "a - b", "a * b", "a/b"), a = c(1,2,3,4), b = c(5,6,7,8))
> dt
expr a b
1: a + b 1 5
2: a - b 2 6
3: a * b 3 7
4: a/b 4 8
Mục tiêu của tôi là để có được những điều sau data.table
:
> dt
expr a b ans
1: a + b 1 5 6
2: a - b 2 6 -4
3: a * b 3 7 21
4: a/b 4 8 0.5
tôi thử như sau:
> dt[, ans := eval(expr)]
Error in eval(expr, envir, enclos) : object 'expr' not found
> dt[, ans := eval(parse(text = expr))]
Error in parse(text = expr) : object 'expr' not found
Bất kỳ ý tưởng làm thế nào tôi có thể tính toán cột ans
dựa trên biểu thức trong expr
cột?
lập trình chức năng FTW, lớn + 1 –