У меня есть веб-приложение OpenCPU, которое (с точки зрения пользователя) одновременно обеспечивает как табличное, так и графическое представление прогнозов на основе моделей.
Прогнозы основаны на введенных пользователем входных данных (предиктор/независимые переменные), взятых из HTML-таблицы. Затем в R выполняются расчеты, и полученные данные (отклик/зависимые переменные плюс связанная статистика) используются как для обновления HTML-таблицы, так и для подачи сопутствующей графики.
Мое текущее решение выглядит следующим образом:
ocpu.rpc
принимает пользовательский ввод, выполняет вычисления и возвращает обновления таблицы, которые применяются через JavaScript. После их применения…
ocpu.rplot
задействован (как часть функции обратного вызова ocpu.rpc) для создания соответствующего изображения. (Обратите внимание, он ДОЛЖЕН учитывать обновления — отсюда и обратный вызов).
Хотя приведенное выше решение работает, я не могу не чувствовать, что есть более элегантное решение…
Из соображений эффективности я хотел бы обработать входную таблицу и создать весь табличный/графический вывод в единственном вызове функции R. Я с радостью могу это сделать, но у меня возникает проблема, когда я пытаюсь получить доступ к обоим наборам вывода через JavaScript. В частности:
- Я изо всех сил пытаюсь понять, как я могу получить графику, используя
ocpu.rpc
. - Я изо всех сил пытаюсь понять, как я могу получить данные таблицы, используя
ocpu.rplot
. ocpu.call
, кажется, путь вперед, поскольку я вижу оба элемента, а именно ocpu/tmp/key/R/.val и ocpu/tmp/key/graphics/1. .. Я могу получить обновления таблицы, хранящиеся в первом, с помощью вспомогательной функции getObject(), но, несмотря на мои усилия, у меня возникают проблемы с графикой.
Любая помощь/совет будут высоко оценены!