Если вы просто используете простые примитивные бинарные операнды, вы можете получить функции и применить их к значениям. Например,
with(df, mapply(function(op,x,y) {op(x, y)},
mget(as.character(b), inherits=TRUE), a, c))
Здесь мы используем mget()
, чтобы получить функции для каждого из операторов, а затем используем mapply()
, чтобы передать другие столбцы в качестве параметров.