将R与Rsruby集成

16

我想知道是否有人在Rails上集成R的经验,特别是在Heroku上。我熟悉rsruby宝石,它是Ruby与R绑定的事实标准(也许是唯一的),但集成R和Rails的文档稀少甚至不存在。例如,将R安装到Rails应用程序的lib文件夹中,然后通过rsruby访问它是否可行?


我对Ruby毫无经验,但是我可以提供一些关于寻找R相关帮助的建议。尝试在rseek.org上搜索RSRuby。这个链接可能会有一些有用的信息。 - joran
它实际上包含了一些有用的信息。谢谢! - Han
虽然我仍然希望能听到有经验的人对此特定问题的看法 :) - Han
3个回答

4

你是在使用原生的 Ruby 还是在 Rails 平台上使用它? - Han
@hank42 在 Rails 平台上。它是松散集成的,偶尔我会使用 Rails 启动一个绿色线程 Rserve 利用进程,但通常 Rserve 的东西先完成,然后交给 Rails 显示。 - Ryanmt
啊,看来这是一个关键的区别。我需要R处理的东西同步完成...我觉得这会非常麻烦 :( - Han
不是真的...我想你可以做到。这是我的想法。Rserve创建了一个正在运行的R实例,通过TCP/IP传递消息,据我所知。所以,你只需要实例化连接,然后让它保持运行状态。你可以在任何时候发送任何你想要的东西...其实,这是个好主意!我没有考虑过用这种方式来做,但它实际上相当美丽。我仍然可能不会这样做,因为我不需要那个方面的R,但这应该相当不错! - Ryanmt
@hank42 有趣的是...我还没有看过它,谢谢你提供链接。希望一切顺利! - Ryanmt
显示剩余8条评论

2

1

我几年前探索了R/Rails的集成,所以我的帖子现在已经过时了。然而,它们仍然可用,如果您想阅读它们可能会有用:

RSRuby和Rails重访

我遇到的一个问题是在终止开发服务器时出现了“堆栈破坏错误”,这让我担心这个项目是否值得追求。

我没有尝试过部署到Heroku。原则上,我喜欢您将R放在Rails lib/中的想法,但我不确定它是否有效。

总的来说,我发现将其他语言与R桥接是麻烦的。最好通过在服务器上运行R(使用例如RApache)并在Rails应用程序之间传递数据(例如作为JSON)来保持两者分开。我写过另一篇关于这个想法的文章:

让您的Web应用程序和R(Apache)相互通信


我感谢您的建议。有趣的是,当我在挖掘并尝试弄清楚这个问题时,我看到了您的旧帖子。虽然它没有直接解决我个人遇到的问题,但还是很有帮助的。有趣的是,R-Rails集成似乎对我来说是一个显而易见的问题,但关于这方面的信息却很少,这让我感到惊讶。 - Han
是的,我认为我需要将它们分开。你知道有哪些预配置了R语言的好的AMI适用于这种情况吗? - Han

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