问题标签 [rserve]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在java中调用R时找不到某些函数
我正在尝试在 Java 中使用 R,特别是在 Processing 中。我想使用该readPNG
功能,但当我尝试使用时,R 显示错误readPNG function can't be found
。这非常奇怪,因为我有png library
活跃的,如果我尝试直接从 R 中使用它,这个锻炼就好了。我正在使用该Rserve
包来连接 java 和 R。任何建议都会非常受欢迎。如果有帮助,这是我正在使用的代码的一部分。
java - 如何解决在 IntelliJ 中使用外部包的问题?
我最近从 eclipse 切换到 Intellij,因此我是新手。直到我成功编译我的 java 程序(maven)并生成输出的前一天。该程序使用多个外部包,还使用 Rserve 连接到 R。但是,当我今天尝试编译它时,它无法识别任何外部包并给出多个错误,例如:
在查看项目结构时,在依赖项选项卡中,它显示类似于下图的内容。有人可以帮我在这里找到问题吗?
r - 如何优雅地关闭 Rserve?
我在 Mac 和 Ubuntu 中都尝试了很多选项。我阅读了 Rserve 文档
对于 Rserve 和 RSclient 包:
http://cran.r-project.org/web/packages/RSclient/RSclient.pdf
http://cran.r-project.org/web/packages/Rserve/Rserve.pdf
我无法弄清楚在 Rserve 中打开/关闭连接以及“优雅地”关闭 Rserve 的正确工作流程是什么。
例如,在 Ubuntu 中,我使用 ./config --enable-R-shlib 从源代码安装 R(遵循 Rserve 文档),还在 /etc/Rserve.conf 中添加了“控制启用”行。
在 Ubuntu 终端中:
但是,我可以关闭连接:
关闭连接后,我还尝试了选项(也尝试使用参数“c”,即使连接已关闭):
所以,我的问题是:
1- 如何优雅地关闭 Rserve?
2- 可以在没有 RSclient 的情况下使用 Rserve 吗?
我也看了
但问题是指调试模式,也没有解决。(我没有足够的声誉来评论/询问关机是否在非调试模式下工作)。
还看了:
非常感谢!
r - 从本地 R 客户端到 AWS 服务器上的 Rserve 主机的 Rserve 连接
目前正在尝试通过端口 6311 上的 IP 地址连接到 Amazon AWS 服务器。我已将 Rserve 设置为 AWS 服务器上的守护进程,并通过调用 netstat 命令检查它是否实际上正在侦听端口 6311,但是当我从我的本地 R 客户端运行以下命令:
我收到此错误消息:
本地客户端确实安装了 RSClient,我们已验证 Rserve 已安装并在主机服务器上正确运行。
有没有人对如何使用这种方法连接到远程服务器有任何建议?
java - Rserve 服务器:如何终止阻塞实例(eval 永远占用)?
我需要执行 Reval
多线程的方式执行 R s,这是Rserve
非常好的。但是,如果一个实例的评估时间太长,我需要能够关闭正在计算阻塞评估的实例。据我测试,给定的实例将拒绝关闭,直到 eval 完成(显然,它需要在再次收听之前获取结果)。所以这是我的问题:
有没有办法在阻塞实例上获取 java 句柄(类似于Process
对象)上获取 java 句柄,以便我可以蛮力杀死/终止 eval(类似于process.destroy()
)?换句话说,当我请求一个 eval(创建一个连接,抛出一个命令)时,我如何通过 java 建立正在处理的 eval 和与之相关的 Rsere 实例之间的关系?
还是我错过了一些关于 Rserve 已经允许处理这种需求的东西?
注意:我已经尝试通过serverEval()
而不是在主实例上运行计算的常规运行所有东西(所有评估) eval
,但这当然不令人满意,因为它只使用一个进程(主进程)。我可以杀死那个,但我的主要目标是能够单独关闭在单个实例上运行的阻塞评估。并且,自然地,保持我的 8 个 CPU 内核的优势,也就是说,保持并行性。否则使用 Rserve 是没有意义的(在这种情况下,JRI 引擎就绰绰有余了)。
注意:我想避免这种事情(线程),在不同的端口上处理主服务器本身的几个实例。这不是一个选择。
我已经尝试在 Rserve 的邮件列表中获取信息,但没有得到答复。我希望我让自己足够清楚,以便在这里得到答案或有用的评论。如果没有,请询问详情。非常感谢。
编辑:我还测试了 RCaller,它可以处理尽可能多的 R 实例,但是,因为它将结果写入 XML 文件以供以后从 java 端解析(不像 Rserve 那样真正使用通信协议),所以它太远了我必须执行的操作很慢...
python - 如何通过pyRserve调用名称中带有点的R函数?
当从 python 与 Rserve 会话交互时,pyRserve 模块非常方便。
您可以通过在其名称前加上“conn.r”或“conn.ref”等表达式来访问 R 对象
但是如果函数名中有一个点,这将不起作用,
我想出的唯一解决方案是将整个 R 表达式包装在一个字符串中并使用 eval 函数运行它:
有没有更有效的方法呢?
注意:我意识到在另一个 SO 线程中,类似的问题已被问及 rpy2 模块(另一个 python R 绑定)的答案。
node.js - 使用 Meteor Server Side Route 中的 node-rio
我正在尝试通过服务器端路由使用 Meteor 访问 Rserve 服务器以调用 R 代码。允许访问 Rserve 的 Node.js 模块是node-rio我使用了meteorhacks:npm Meteor 包中的 Async.wrap 函数来包装“评估”方法。当我尝试在浏览器中访问路由路径“/rio”时,控制台日志中写入了“1”,这对于在 R 中评估命令“1”是正确的,但 Chrome 挂起并显示消息“Waiting对于本地主机”。它不会进入下一行,并且永远不会显示“结果:1”。消息“net::ERR_EMPTY_RESPONSE”最终出现在 Chrome 中。
"evaluate" 有一个回调函数参数,但它被包装在一个选项参数中并被访问:
c++ - 从 Tableau 调用 Rcpp 函数时出错。如何解释和调试 Rserve 日志?
我在将编写的 R 函数连接到 Tableau 时遇到了很多麻烦。该函数依赖于 Rcpp。
在 R 中,如果我调用prob_1_beats_2(1, 2, 3, 4)
它就可以了。但是,当我尝试使用 Rserve 连接到 Tableau 时,我收到此错误:
Error in eval(expr, envir, enclos) : expecting a single value
我似乎无法追查。我尝试在调试模式下运行 Rserve,但无济于事。我不确定如何解释这些结果。最好准确追溯 R 中调用的内容。
调试日志要点:https ://gist.github.com/FrankPortman/f5cfe32596fd47080286
这是 Rcpp 函数:
如你看到的:
最后,我正在使用的 Tableau 调用:
注意
确实返回 0.7037037。我将使用的真正 Tableau 调用不会使用 1:4 的常量值,但我正在尝试这样做以进行调试。
python - 每个 Flask 会话存储大数据或服务连接
我正在编写一个小型 Flask 应用程序,并使用 pyRserve 将其连接到 Rserve。我希望每个会话都启动然后维护自己的 Rserve 连接。
像这样的东西:
不起作用,因为连接对象不是 JSON 可序列化的。另一方面,是这样的:
不起作用,因为它不会在请求之间持续存在。更困难的是,pyRserve 似乎没有为连接提供任何标识符,因此我无法在会话中存储连接 ID 并在每次请求之前使用它来检索正确的连接。
有没有办法实现每个会话都有一个唯一的连接?
java - 启动 Rserve 时出错,绑定错误地址已在使用中
当我运行命令时
Rserve(args="--no-save")
我收到以下错误: SOCK_ERROR: bind error #48 (address already in use)
除此之外,当我在处理应用程序中尝试以下代码时:
如果(游戏开始){
它打印出 data 的值 = 0。我不确定问题是 Rserve 无法正常工作还是由于我的 java 语法(我有非常基本的 java 技能,我在 R 方面受过更多教育)
谢谢大家的帮助。