我已经用Python代码块中的一些对象创建了一个RMarkdown文档。我希望能够在RStudio的“环境”窗口列表中看到这些对象,就像在R代码块中创建的对象一样。
例如,如果我创建了一个向量,请说:
a = c(1,2,3,4,5)
在R代码块中(即,如果我用{r}
包装代码,它将显示在“环境”窗口列表中。
另一方面,如果我在Python代码块中创建另一个矢量,例如以下代码:
b = [1,2,3,4,5]
b将不会在“环境”窗口中列出。至少,我无法找到一种方法来显示它。
另一方面,可以在R代码块中通过在其前面加上“ py $”(例如“ py $ b”)来访问b
有没有办法做到这一点?
答案 0 :(得分:1)
在分配给Python变量b
的任何块中,都应使用诸如r.b = b
之类的命令。然后b
及其值将出现在“环境”窗口中。
r.
是py$
的反义词;它允许Python块访问R名称空间。
参考:https://blog.rstudio.com/2018/03/26/reticulate-r-interface-to-python/
编辑:为简明起见,您可以分配作业:
r.b = b = [1,2,3,4,5]
但是,并不完全确定这是明智的。关于Python链分配从左到右的整个过程(例如,https://stackoverflow.com/a/36346517)让我感到非常震惊。应该记住关于两个指向同一对象的Python变量的观点,尽管据我所知,在R块中为b
分配一个新值不会改变{{ 1}}。