Как мне построить функцию, отформатированную как строку в R
Я создаю приложение с помощью RApache, и мой код на R получает данные POST. Один из пост-данных - это POST$f, представляющий собой строку, скажем "sin(x)". Есть ли способ успешно вставить это в функцию сюжета?
Спасибо!
1 ответ
fun <- "sin(x)"
plot(function(x) eval(parse(text=fun)))
Но это не то, что я бы порекомендовал. eval(parse(...))
это уже опасно, и тогда делать это с произвольным пользовательским вводом с веб-сайта - просто зияющая дыра в безопасности.
# PLOTTING THIS FUNCTION AS ABOVE WILL DELETE EVERYTHING IN YOUR GLOBAL WORKSPACE
fun <- "{rm(list=ls(pos=1),pos=1); x}"
# DON'T SAY I DIDN'T WARN YOU!
Или даже используя system()
делать еще больше плохих вещей.