Ich habe folgendes data.table
:auswerten Ausdruck 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
Mein Ziel ist die folgende data.table
zu erhalten:
> 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
Ich habe versucht, die folgenden:
> 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
Irgendeine Idee, wie ich die ans
Spalte basierend auf dem Ausdruck in der 0 berechnen kannSpalte?
Funktionale Programmierung FTW, große + 1 –