r-如何将pyRserve与Python连接



我需要在iPython中连接pyRserve,但当我尝试连接它时出现了错误。这就是错误。

conn = pyRserve.connect()

这就是我得到的:

RConnectionRefused: Connection denied, server not reachable or not accepting connections.

在pyrserve手册中有和建议来纠正这一点,但我不明白我需要做什么。这是建议(注意)

注意:当应该打开到Rserve的远程连接,而pyRserve无法连接到它时,Rserve很可能只侦听它自己的内部网络连接。要强制Rserve接受来自其他机器的连接,请创建一个名为/etc/Rserv.conf的文件,并至少添加以下行:remote-enable然后重新启动Rserve。

因此,我需要知道如何在python 中实现note并连接Rserve

感谢大家

In R(使用3.3.2)

install.packages(‘Rserve’)
library(Rserve)
Rserve()    # the actual server you will be calling from python

运行Rserve()后,您应该会看到以下信息,表明R服务器正在运行:正在启动Rserve。。。"C:\Users\bkeith\Desktop\R-33~1.2\library\Rserve\libs\x64\Rserve.exe"


在Python 中

import pyReserve
conn = pyRserve.connect()  # the connection to R
print conn
>> <Handle to Rserve on localhost:####>

一旦打印出来,就可以开始使用库了。


别忘了关闭你的连接,要检查它,你可以使用conn.isClosed:

conn.shutdown()

以下是库中的一些示例:

示例1–基本语法

conn.eval(‘2+4’) #basic eval
>> 6.0

示例2–从python到R 的列表

a = [1,2,3,4]   #python list
conn.r.a = a    #the R variable is named a as well 
print conn.r.a 
>>[1,2,3,4]     #the R list is now in python as well

示例3–R 中的功能

conn.voidEval(‘two <- function(x){ x * 2}’) #declare the function
conn.eval(‘two(9)’)   #use the function
>> 18.0

我之前也遇到过同样的问题,通过安装Rserve解决了这个问题,请确保从他们的网站下载文件并运行以下代码:

R CMD INSTALL [Rserve_1.8-0.tar.gz] #put in the file name

然后在终端中运行时:

R CMD Rserve

应该有消息表明r处于守护进程模式,然后运行conn=pyRserve.connect()应该没有问题。

相关内容

  • 没有找到相关文章

最新更新