我正在使用以下代码在 python 中运行一个简单的 R 脚本。
import rpy2.robjects as robjects
r=robjects.r
output = r.source("sample.R")
Run Code Online (Sandbox Code Playgroud)
现在当我打印输出时
print (output)
Run Code Online (Sandbox Code Playgroud)
我将脚本的最后一个变量仅作为输出而不是所有变量(这是我没想到的。另外我在想如果我调用 c 或数据,结果将这样打印,但 python 没有识别这些变量R)。我不确定如何调用所有这些变量。
我正在用 R 脚本编写非常简单的代码只是为了测试。我的 R 脚本如下所示:
a <- 1
b <- 3
c <- a + b
data = 1:20
Run Code Online (Sandbox Code Playgroud)
现在在调用脚本并打印结果时,我在输出中得到以下内容。我不确定发生了什么。
$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
Run Code Online (Sandbox Code Playgroud)
我不确定如何准确地打印变量,因为它是从 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"])
Run Code Online (Sandbox Code Playgroud)