我需要在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()应该没有问题。