5

我有一个现有的 Javascript/HTML 应用程序。我想使用R Programming's 的科学计算和图形的力量。

我的目标是,

  1. 从 Javascript 应用程序发送一些数据。
  2. 使用数据输入调用预定义的 R 函数。
  3. 获取输出以文本和图形的形式获取输出。
  4. 在 HTML 页面中显示它。

如何实现这一点,

  1. 我应该连续运行R,使用类似的东西web sockets并连接到R吗?如果在做如何传递 R 脚本来执行并获取输出包?

  2. Rserve。有一些nodeJS实现Rserve。但问题是,每一行代码都应该通过evaluate命令传递。即使我这样做了,如何处理图形输出?

  3. 我探索了一点openCPU。如果使用 openCPU R 包,R 应该与opencpu库一起连续运行,并且每次我们启动 R 和 openCPU,它以不同的端口号启动。如果我关闭 R 会话,opencpu服务器也会终止。

  4. 如果我在我的机器上安装独立opencpu服务器,如何使用 R?我已经安装了 openCPU 独立服务器,之后就卡住了。

我应该如何进行,我应该怎么做才能完成我的任务。我有点不知道该往哪个方向走。请对此有所了解。我相信大多数人都会需要这个。

我曾使用过shiny,但在这种情况下,我无法使用它。需要从外部 Web 应用程序连接 R。

4

2 回答 2

2

FastRWeb听起来很适合您的需求。从文档中:

FastRWeb 是一种基础架构,它允许任何网络服务器使用 R 脚本动态生成内容,例如网页或图形。URL 映射到脚本,并且可以具有传递给从脚本运行的 R 函数的可选参数。例如 http://my.server/cgi-bin/R/foo.png?n=100会导致 FastRWeb 查找脚本 foo.png.R,获取它并调用 run(n="100")。因此,例如,脚本可以很简单

run <- function(n=10, ...) {
   p <- WebPlot(800, 600)
   n <- as.integer(n)
   plot(rnorm(n), rnorm(n), col=2, pch=19)
   p
}

然后可以使用 JavaScript 调用它来动态加载图像并显示它们。

您可能还想考虑shiny,尽管这更像是一个完整的解决方案。

于 2015-07-02T18:57:55.133 回答
0

Rserve您可以使用包有效地从 javascript 调用 R。有可用的 Rserve 客户端rserve-js的 javascript 实现。此外,您可能会发现R 作为服务
的实现很有趣,在构建我可以从外部应用程序调用的 R 服务器 REST API 所需的建议中描述?.httupv

于 2015-10-25T14:24:01.207 回答