问题标签 [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.

0 投票
1 回答
183 浏览

java - 在java中调用R时找不到某些函数

我正在尝试在 Java 中使用 R,特别是在 Processing 中。我想使用该readPNG功能,但当我尝试使用时,R 显示错误readPNG function can't be found。这非常奇怪,因为我有png library活跃的,如果我尝试直接从 R 中使用它,这个锻炼就好了。我正在使用该Rserve包来连接 java 和 R。任何建议都会非常受欢迎。如果有帮助,这是我正在使用的代码的一部分。

0 投票
0 回答
448 浏览

java - 如何解决在 IntelliJ 中使用外部包的问题?

我最近从 eclipse 切换到 Intellij,因此我是新手。直到我成功编译我的 java 程序(maven)并生成输出的前一天。该程序使用多个外部包,还使用 ​​Rserve 连接到 R。但是,当我今天尝试编译它时,它无法识别任何外部包并给出多个错误,例如:

在查看项目结构时,在依赖项选项卡中,它显示类似于下图的内容。有人可以帮我在这里找到问题吗?在此处输入图像描述

在此处输入图像描述

0 投票
3 回答
13362 浏览

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 吗?

我也看了

如何关闭 Rserve(),在 DEBUG 中运行

但问题是指调试模式,也没有解决。(我没有足够的声誉来评论/询问关机是否在非调试模式下工作)。

还看了:

如何使用 R 客户端连接到 Rserve

非常感谢!

0 投票
1 回答
1393 浏览

r - 从本地 R 客户端到 AWS 服务器上的 Rserve 主机的 Rserve 连接

目前正在尝试通过端口 6311 上的 IP 地址连接到 Amazon AWS 服务器。我已将 Rserve 设置为 AWS 服务器上的守护进程,并通过调用 netstat 命令检查它是否实际上正在侦听端口 6311,但是当我从我的本地 R 客户端运行以下命令:

我收到此错误消息:

本地客户端确实安装了 RSClient,我们已验证 Rserve 已安装并在主机服务器上正确运行。

有没有人对如何使用这种方法连接到远程服务器有任何建议?

0 投票
2 回答
1843 浏览

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 那样真正使用通信协议),所以它太远了我必须执行的操作很慢...

0 投票
1 回答
315 浏览

python - 如何通过pyRserve调用名称中带有点的R函数?

当从 python 与 Rserve 会话交互时,pyRserve 模块非常方便。

您可以通过在其名称前加上“conn.r”或“conn.ref”等表达式来访问 R 对象

但是如果函数名中有一个点,这将不起作用,

我想出的唯一解决方案是将整个 R 表达式包装在一个字符串中并使用 eval 函数运行它:

有没有更有效的方法呢?

注意:我意识到在另一个 SO 线程中,类似的问题已被问及 rpy2 模块(另一个 python R 绑定)的答案。

0 投票
2 回答
344 浏览

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" 有一个回调函数参数,但它被包装在一个选项参数中并被访问:

0 投票
1 回答
228 浏览

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 的常量值,但我正在尝试这样做以进行调试。

0 投票
1 回答
10168 浏览

python - 每个 Flask 会话存储大数据或服务连接

我正在编写一个小型 Flask 应用程序,并使用 pyRserve 将其连接到 Rserve。我希望每个会话都启动然后维护自己的 Rserve 连接。

像这样的东西:

不起作用,因为连接对象不是 JSON 可序列化的。另一方面,是这样的:

不起作用,因为它不会在请求之间持续存在。更困难的是,pyRserve 似乎没有为连接提供任何标识符,因此我无法在会话中存储连接 ID 并在每次请求之前使用它来检索正确的连接。

有没有办法实现每个会话都有一个唯一的连接?

0 投票
1 回答
1264 浏览

java - 启动 Rserve 时出错,绑定错误地址已在使用中

当我运行命令时

Rserve(args="--no-save")

我收到以下错误: SOCK_ERROR: bind error #48 (address already in use)

除此之外,当我在处理应用程序中尝试以下代码时:

如果(游戏开始){

它打印出 data 的值 = 0。我不确定问题是 Rserve 无法正常工作还是由于我的 java 语法(我有非常基本的 java 技能,我在 R 方面受过更多教育)

谢谢大家的帮助。