首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用reticulate将R变量传递给python脚本

使用reticulate将R变量传递给python脚本
EN

Stack Overflow用户
提问于 2018-09-27 05:12:19
回答 1查看 2.3K关注 0票数 3

我有一个python脚本,我想使用reticulate包从R中运行它。我想先在R中赋值一些变量,然后将它们传递给脚本。不幸的是,当我运行脚本时,我惊讶地发现python不能识别变量。这里我漏掉了什么?谢谢

Python脚本(test.py):

代码语言:javascript
复制
print(x)

R代码:

代码语言:javascript
复制
library(reticulate)
x <- 5
source_python(test.py)

错误:

代码语言:javascript
复制
Error in py_run_file_impl(file, local, convert) : 
  NameError: name 'x' is not defined
EN

回答 1

Stack Overflow用户

发布于 2018-09-28 01:26:57

我想出的解决方案就是创建一个函数。所以如果之前我的python代码是

代码语言:javascript
复制
z = x + 3

我的新python代码将是:

代码语言:javascript
复制
def add_three(x):
    z = x + 3
    return z

然后我可以,在R运行中:

代码语言:javascript
复制
x <- 5
source_python("test.py")
y <- add_three(x)

并得到y为6。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52526092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档