我使用以下代码在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。请指导我。我们将不胜感激。
此致
答案 0 :(得分:2)
您的变量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"])