我想在网页上提供以下服务:
我不想一直运行自己的计算机,所以应该采用一种云解决方案(我猜?!?).
您对如何完成上述想法有什么想法吗?
Sim*_*nek 15
您可以查看FastRWeb - 它为R脚本提供服务,就像它们是网页一样,支持图形和常规输出.它使用Rserve,使其比任何涉及启动R(例如R或Rscript)的解决方案快得多.它可以通过CGI或PHP在任何网络服务器上运行.
生成绘图的脚本如下所示:
run <- function(n=100, ...) {
p <- WebPlot(800, 600)
n <- as.integer(n)
plot(rnorm(n), rnorm(n), col=2, pch=19)
p
}
Run Code Online (Sandbox Code Playgroud)
其他解决方案是RApache,它将R直接嵌入到apache webserver中.
编辑:还有杰夫现在使用嵌入式R HTTP服务器的Rook(感谢Joshua指出那个).
您提到每天运行它 - 如果您不需要在线分析,您只需使用R 生成html页面和png文件并将其发送到您的Web服务器 - 所有这些都在自动脚本中.有许多R包可以促进HTML输出 - 只需在CRAN包列表中搜索HTML.
使用Rscript和cat打印HTTP响应,就像从任何CGI-bin一样.例如,设置响应的内容类型,然后设置cat一些HTML,或打印PNG等:
#!/path/to/Rscript
cat("Content-type: text/html\n\n")
cat("<html>")
cat("<body>")
cat("<p><em>Hello</em>, world!</p>")
v <- round(runif(10)*10, 0) # sample ten random integers from {0..10}
cat("<p>", v, "</p>")
cat("</body>")
cat("</html>")
Run Code Online (Sandbox Code Playgroud)