Я пытаюсь использовать Rserve от Tableau. Я могу выполнить следующий код:
SCRIPT_REAL(".arg1*.arg2", MAX([Price]), [TestParam])
По сути, я пишу код R в Tableau (в моем случае ".arg1*.arg2"
) и отправляю его в Rserve. Rserve, в свою очередь, берет код, выполняет его и отправляет результат обратно в Tableau.
Теперь я пытаюсь сделать то же самое, но определяя функцию в среде R и получая к ней доступ из Tableau через Rserve. Итак, я выполняю следующее в R:
> myfunc <- function(x, y) {x*y}
> library(Rserve)
> Rserve()
Это означает, что я определяю функцию в среде R, а затем запускаю Rserve в той же среде с надеждой, что Rserve увидит функцию, которую я определил ранее.
Затем в Tableau я определяю новый столбец, используя этот код:
SCRIPT_REAL("myfunc(.arg1,.arg2)", MAX([Price]), [TestParam])
Как видите, я пытаюсь вызвать функцию (myfunc
), которую определил в R.
В результате я получаю сообщение об ошибке, в котором говорится, что myfunc
не найден.
Немного изучив сеть, я обнаружил, что этого следует ожидать, поскольку функции, определенные в рабочей области R, не находятся в рабочей области Rserve. Итак, мой вопрос: Можно ли определить функцию в R, а затем сделать ее видимой для Rserver, чтобы Rserve мог выполнять эти функции?
$HOME
). - person r2evans   schedule 10.08.2016