Как ввести аргументы из R в Python с помощью rPython?

Как ввести аргументы из R в Python с помощью пакета rPython?

Ниже наивная попытка

В script.py:

print message

В script.R:

require(rPython)    
text = "Hello World"
python.load("script.py", message=text)

Error in python.load("script.py", message = text) : 
  unused argument (message = text)

1 ответ

Решение

Согласно документации пакета (стр. 5-6) для load метод:

Эта функция запускает код Python, содержащийся в файле. Как правило, этот файл будет содержать функции, которые будут вызываться через python.call или другие функции в этом пакете.

Следовательно, в Python нет запущенного скрипта, а только определенные функции с возвращаемыми объектами:

Python (script.py)

def print_message(msg):
   return msg

R (используя load и call)

require(rPython)    
text = "Hello World"

python.load("script.py")
python.call("print_message", text)

#[1] "Hello World"
Другие вопросы по тегам