运行 Python 中的 R 脚本

Running R script in Python

我是 运行 python 中的一个简单 R 脚本,使用以下代码。

import rpy2.robjects as robjects
r=robjects.r
output = r.source("sample.R")

现在当我打印输出时

print (output)

我只是将脚本的最后一个变量作为输出,而不是所有变量(这是我没有预料到的。我也在想如果我调用 c 或数据,结果将被打印出来,但是 python 没有识别这些用 R 编码的变量)。我不确定如何调用所有这些变量。

我正在用 R 脚本编写非常简单的代码只是为了测试。我的 R 脚本如下所示:

a <- 1
b <- 3
c <- a + b 
data = 1:20

现在调用脚本并打印结果时,我在输出中得到以下内容。我不确定发生了什么。

$value

 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20



$visible

[1] FALSE

我不确定如何准确打印从 R 到 python 的变量。请指导我。您的帮助将不胜感激。

此致

你的变量output将只存储源文件的输出,这正是你得到的,id est最后一个变量。但是所有变量实际上都存在于某个地方,在 R 环境中,您可以使用 robjects.globalenv 获得。 知道您可以轻松检索在 R 中创建的每个变量的值:

import rpy2.robjects as robjects
robjects.r.source("sample.R")
print(robjects.globalenv["a"])
print(robjects.globalenv["b"])
print(robjects.globalenv["c"])
print(robjects.globalenv["data"])