Передача R переменных в скрипт Python с сеткой

1

У меня есть сценарий python, который я хочу запустить из R, используя пакет ретикуляции. Я хочу сначала назначить некоторые переменные в R, а затем передать их сценарию. К сожалению, когда я запускаю скрипт, я удивлен, увидев, что python не может распознать переменные. Что мне здесь не хватает? Спасибо

Сценарий Python (test.py):

print(x)

R-код:

library(reticulate)
x <- 5
source_python(test.py)

Ошибка:

Error in py_run_file_impl(file, local, convert) : 
  NameError: name 'x' is not defined
  • 0
    Попробуйте: python_run_string ("x = 5"); source_python ( "test.py"); К сожалению, source_python может устанавливать переменные только для вашего R-сеанса. Он не читает переменные, если они не из кода Python, который был оценен.
Теги:
reticulate

1 ответ

0

Решение, с которым я столкнулся, состояло в том, чтобы просто создать функцию. Поэтому, если до моего кода на Python

z = x + 3

Мой новый код python:

def add_three(x):
    z = x + 3
    return z

и затем я могу, в R запустить:

x <- 5
source_python("test.py")
y <- add_three(x)

и получите y как 6.

  • 0
    Как именно то, что показывают документы .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню