我需要在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中连接Rserve
谢谢大家
答案 0 :(得分:4)
在R中(使用3.3.2)
install.packages(‘Rserve’)
library(Rserve)
Rserve() # the actual server you will be calling from python
运行Rserve()后,您应该看到以下内容,表明R服务器正在运行: 开始Rserve ...... " C:\用户\ bkeith \桌面\ R-33〜1.2 \库\ Rserve \库\ 64 \ Rserve.exe"
在Python中
import pyReserve
conn = pyRserve.connect() # the connection to R
print conn
>> <Handle to Rserve on localhost:####>
打印完成后,您就可以开始使用该库了。
不要忘记关闭连接,检查它是否可以使用conn.isClosed:
conn.shutdown()
以下是图书馆的一些例子:
Ex.1 - 基本语法
conn.eval(‘2+4’) #basic eval
>> 6.0
Ex.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
答案 1 :(得分:1)
我之前遇到了完全相同的问题,并且能够通过安装Rserve来解决问题,请确保从他们的网站下载文件并运行以下代码:
R CMD INSTALL [Rserve_1.8-0.tar.gz] #put in the file name
然后在终端中运行时:
R CMD Rserve
应该有消息表明r处于守护进程模式,然后运行conn = pyRserve.connect()应该没问题。