基于web的报告生成,支持R(或其他外部程序)

3
我用R / Sweave / Knitr技术生成一次性报告的能力越来越好,这些报告是通过处理带有R代码的模板、获取数据库数据并生成pdf / html / text / md或odf文件得到的。我越来越多地向用户提供这些报告。
理想情况下,我希望为用户提供一种简单的方式,让他们请求特���设置的模板,然后拿到报告结果。
是否有人可以建议这样的东西,无论是基于Web还是其他支持R / sweave工作流的东西?
编辑:生成这些报告(sweave'ing或knit'ting)可能需要一段时间,3-5分钟,因此必须支持请求和以后的结果接收。另外,多用户支持也很好(即Bob无法看到Jane的报告)。

有一个非常好用的免费报表生成工具叫做ireport,你可以在postgresql中使用PLR来执行与数据库相关的R代码...然而这并没有回答你的问题。 - Justin
@PaulHurleyuk,您希望用户设计模板还是只能从预定义的模板列表中选择? - agstudy
@agstudy 从列表中选择一个 - PaulHurleyuk
1个回答

1

如果您想要一个真正的、互动的、基于Web的R框架,我强烈推荐看一下RStudio的新应用程序:Shiny

如果您只是想要PDF/HTML格式的静态报告,我不知道您需要多少才能开始。您基本上只需要从网页中获取基于表单的输入,将其传递给R,运行报告,并提供文件下载。

  • 要构建一个简单的HTML表单,PHP非常简单,并且由大多数托管提供商支持。
  • 然后使用类似于PHP的system()function来调用您的RScript代码,并在该调用中传递参数。
  • 在R中,使用commandArgs()函数提取指定给脚本的参数,生成报告。
  • 向Web用户提供生成的报告。

如果您想要更全面的东西,可以考虑设置RApache或类似技术,但我真的认为,通过设置这些技术所需的努力,您(和您的用户)可能会更好地使用Shiny并获得互动性的好处。


我已经研究了Shiny,它确实符合一些要求。不幸的是,生成这些报告可能需要相当长的时间(3-5分钟),而可能的要求是多用户支持。 - PaulHurleyuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接