Как запустить функцию, содержащуюся в R-скрипте, из Python?Входные данные для функции R будут поступать из Python - PullRequest
3 голосов
/ 05 апреля 2019

Я использую Pycharm для Python.У меня есть скрипт на R под названием «Forecast.R», который содержит функцию -> dummy_forecast (start_date, end_date), которая выводит прогноз на 1 неделю вперед в указанные даты.Выходные данные представлены в формате данных, содержащем отметку времени и прогнозные значения.Я хочу указать входные данные для скрипта из Python и также сохранить фрейм данных прогноза в Python.

Есть ли способ импортировать скриптcast.R в python и вызвать функцию dummy_forecast () с входными данными start_date иend_date хранится в python и вводится в функцию?

доступен пакет rpy2.Однако нам нужно написать весь сценарий R, который является избыточным и требует больше времени для обработки сценария Python.

Мне нужно это сделать в командной строке Pycharm, а не в командной строке.

1 Ответ

1 голос
/ 05 апреля 2019

Если этот скрипт 'R' написан на python, вы можете отредактировать функцию так, чтобы она возвращала прогноз в конце ее выполнения, а затем, когда вы вызываете функцию в основном скрипте, вы можете назначить ей переменную, поэтомунапример:

Сценарий R:

def dummy_forecast(s, e):
    #do calculations etc
    return forecast #or whatever you have called the data stored in here.

Основной сценарий:

#as long as script R is in the same folder as the main script, you can just do:
import R
#if it is not, this is what you want to do:
import sys
sys.path.insert(0, r'C:\directory\of\script\r')
import R

#then once you have imported R, you can do the following
start = 'blah blah'
end = 'blah blah'

forecast = R.dummy_forecast(start, end)
print forecast

...