Ho il seguente data.table
:valutare l'espressione in 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
Il mio obiettivo è ottenere le seguenti 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
ho provato la seguente:
> 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
Qualche idea su come posso calcolare la colonna ans
in base all'espressione nello 0 Colonna?
programmazione funzionale FTW, grande + 1 –