我需要开发一个web界面,允许用户输入一些参数作为R脚本的参数并将结果返回给用户。
我有几个问题要问已经开发过类似web界面的人:
- 应该使用哪种Web框架
- 在Web应用程序架构中,通信Web界面和R脚本的最简单方法是什么?
- 是否应该在服务器上安装R(如果是,则如何从Web界面启动R脚本)
我需要开发一个web界面,允许用户输入一些参数作为R脚本的参数并将结果返回给用户。
我有几个问题要问已经开发过类似web界面的人:
R有自己的Web服务器,所以您可以在R内完成整个操作。然后就不需要烦恼选择框架或让它们互相通信等问题-只需使用一个R框架:
http://cran.r-project.org/web/packages/Rook/index.html
如果出于性能或其他原因您不喜欢上述方法,那么几乎任何框架都可以以某种方式与R通信,因此请使用您熟悉的内容。我会使用Django并通过Rpy2调用R,或运行一个Rserve进程,但如果您能编写PHP或Java程序,则使用基于这些语言的框架。如果您只能编写R程序,请学习Python或使用Rook。
RStudio提供了一个基于Web的界面,用于运行R。详细信息请参见http://rstudio.org/docs/server/getting_started
在我看来,OpenCPU 是目前最先进的免费 R 语言状态(REST)web服务包。Shiny是一款很棒的框架,但是如果您计划使用免费的社区版本,请注意它无法处理并发调用。