我对R很陌生。我正在尝试做的是能够从另一个应用程序(Java)加载URL,该应用程序将运行R脚本并输出JSON,以便我的应用程序可以使用它。

我知道有一些像shiny这样的框架充当R的Web服务器,但是我找不到关于这些框架的文档,该文档说明了如何通过URL传递参数,因此R可以使用它们。

理想情况下,我将需要调用以下网址:

http://127.0.0.1/R/param1/param2


该URL将调用R脚本,该脚本将使用param1param2来执行某些功能,并返回一个JSON,然后从我的应用程序中读取该内容。

最佳答案

如果您尚未这样做,请结帐[DeployR]。您也可以将问题发布到DeployR Google网上论坛寻求帮助。

为了全面披露我是DeployR的作者之一

总览

DeployR是一种集成技术,用于在Web,桌面,移动和仪表板应用程序以及后端系统中部署R分析。 DeployR将您的R脚本转换为分析Web服务,因此R代码可以由安全服务器上运行的应用程序轻松执行。

借助分析Web服务,DeployR还解决了那些在现有IT基础架构中采用基于R的分析所面临的关键集成问题。这些服务使应用程序开发人员可以轻松地与数据科学家合作,以将R分析集成到其应用程序中,而无需任何R编程知识。

DeployR有两个版本:DeployR Open和DeployR Enterprise。 DeployR Open是免费的开源解决方案,非常适合原型设计,构建和部署非关键业务应用程序。
DeployR Enterprise可扩展到关键业务应用程序,并为生产级工作负载提供支持,并与流行的企业安全解决方案无缝集成,例如单点登录(SSO),轻型目录访问协议(LDAP),Active Directory或可插拔身份验证模块(PAM)。


我对R很陌生


长官。 DeployR适用于可能不了解R的数据科学家以及应用程序开发人员。


我正在尝试做的是能够从另一个应用程序加载URL
(Java),它将运行R脚本并输出JSON,以便我的应用程序可以使用它。


DeployR可以很好地退出。协助您的应用程序之间的通信
和DeployR服务器(将执行您的R)是DeployR Client libraries

根据您的需求,DeployR在以下方面具有开箱即用的“客户端库”支持:


Java-client-libraryhttps://github.com/deployr/java-client-library
.NET-client-libraryhttps://github.com/deployr/dotnet-client-library
JavaScript and Node.js-libraryhttps://github.com/deployr/js-client-library


DeployR还支持RBroker Framework

您的用例或运行时是否预期有大量工作量,或需要定期,计划或批处理。


我了解有一些框架如Shiny可以用作Web服务器
R,但找不到有关如何传递参数的那些框架的文档
通过URL,以便R可以使用它们


DeployR通过其APIS充当您的分析引擎。基本上认为它是
将您的R脚本变成安全的分析Web服务,以像任何其他方式一样使用
其他网络服务。

传递参数

将参数传递到DeployR中的R脚本很容易,但是您必须了解要从非R的语言将参数传递到R脚本。因此,需要完成一些“数据编码”。例如,将Java字符串转换为R character或将Java布尔值转换为R logical ...
DeployR客户端库或RBroker使此操作变得容易。

听起来您好像在使用Java,因此请先阅读Java教程java-example-client-basics https://github.com/deployr/java-example-rbroker-basics为您提供一些上下文,然后在java-example-client-data-io https://github.com/deployr/java-example-client-data-io下签出许多Java示例。
示例源完全可用,因此应该为您提供所需的一切
为了了解如何从应用程序到DeployR服务器进行基本的I / O进行R分析。


理想情况下,我将需要调用以下网址:
http://127.0.0.1/R/param1/param2


我建议如上所述使用DeployR Client库进行通信,它就是这样做的。

与往常一样,将问题发布到DeployR Google组https://groups.google.com/forum/#!forum/deployr以获得帮助。

10-08 00:29