将R及其图形与现有Javascript/HTML应用程序集成 [英] Integrating R and its graphics with existing Javascript/HTML Application

查看:94
本文介绍了将R及其图形与现有Javascript/HTML应用程序集成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个现有的Javascript/HTML应用程序.我想使用R Programming的科学计算和图形功能.

I have an existing Javascript/HTML Application. I wanted to use power of R Programming's scientific computing and graphics.

我的目标是,

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

如何实现这一目标,

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

  1. Should I run R continuously, use something like web sockets and connect to R? If doing How to pass R scripts to execute and get the output pack?

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

There is Rserve. There are some nodeJS implementation for Rserve. But problem with this is, each line of code should be passed through the evaluate commands. Even though if I do so, how to handle the graph output?

我探索了一些 openCPU .如果使用openCPU R程序包,则R应该使用opencpu库连续运行,并且我们分别启动R和openCPU,它以不同的端口号开头.如果我关闭R会话,opencpu服务器也会终止.

I explored a bit of openCPU. If using openCPU R package, R should be continuously Running with opencpu library and each we start R and openCPU, it starts with different port number. And if i close the R session, opencpu server also terminates.

如果我在计算机上安装了独立的opencpu服务器,该如何在其中使用R?我已经安装了openCPU独立服务器,并在此之后卡住了.

If I install standalone opencpu server in my machine, how to use R with this? I've installed openCPU standalone server and a kind of stuck after that.

我应该如何进行,应该怎么做才能完成任务.我有点不知道该往哪个方向走.请对此加以说明.我敢肯定大多数人都需要这个.

How should I proceed, What should I do to accomplish my task. I'm like a kind of don't know which direction to go. Please throw some light on this. I'm sure most people would need this.

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

I have worked with shiny, but in this case, I can not make use of it. Need to connect R from external Web Application.

推荐答案

FastRWeb 听起来像是完美满足您的需求.从文档中:

FastRWeb sounds like it would be perfect for your needs. From the documentation:

FastRWeb是允许任何Web服务器使用R的基础结构 用于即时生成内容的脚本,例如网页或 图形. URL被映射到脚本,并且可以具有可选参数 从脚本运行传递给R函数的代码.例如 http://my.server/cgi-bin/R/foo. png?n = 100 会使FastRWeb看起来 脚本foo.png.R,将其来源并调用run(n ="100").所以举个例子 该脚本可能很简单

FastRWeb is an infrastructure that allows any webserver to use R scripts for generating content on the fly, such as web pages or graphics. URLs are mapped to scripts and can have optional arguments that are passed to the R function run from the script. For example http://my.server/cgi-bin/R/foo.png?n=100 would cause FastRWeb to look up a script foo.png.R, source it and call run(n="100"). So for example the script could be as simple as

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

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

This can potentially then be called using JavaScript to dynamically load images and display them.

您可能还想考虑发亮,尽管这是一个完整的解决方案.

You might also like to think about shiny, though that's more of a complete solution.

这篇关于将R及其图形与现有Javascript/HTML应用程序集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆