Как я могу подключить PyRserve с Python

Мне нужно подключить pyRserve в iPython, но при попытке подключиться возникает ошибка. Это ошибка.

conn = pyRserve.connect()

И вот что я получаю:

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

В руководстве pyrserve есть и советы, как это исправить, но я не понимаю, что мне нужно делать. Это совет (Примечание)

Примечание. Когда необходимо открыть удаленное соединение с Rserve, и pyRserve не может подключиться к нему, скорее всего Rserve прослушивает только свое собственное внутреннее сетевое соединение. Чтобы заставить Rserve принимать соединения с других компьютеров, создайте файл с именем /etc/Rserv.conf и добавьте как минимум следующую строку: remote enable Затем перезапустите Rserve.

Итак, мне нужно знать, как реализовать заметку и подключить Rserve в Python

Спасибо всем

2 ответа

В 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"


В питоне

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

Пример 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

Ex.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() не должен быть проблемой оттуда.

Другие вопросы по тегам