如何将 R 变量传递给 Pycharm 中的 Python 变量?
How to pass an R variable to a Python variable in Pycharm?
我是新来的Pycharm;但是,我想利用我的 R 和 Python 知识。我是这两种语言的忠实粉丝,并且我不断地学习更多关于它们的知识。
我希望将 R 变量传递给 Python 变量,类似于 Jupyter Notebook。
我无法在任何地方找到任何示例代码。
R码
x <- 5
python代码
# Some conversion method needs to be added
print(x)
Python 控制台
>>>5
这是可能的,因为 Jupyter 提供了自己的代码运行内核。该内核能够在语言之间转换变量。
Pycharm 不提供内核,而是通过系统上的解释器直接执行 Python 代码。这类似于 python my_script.py
。 AFAIK vanilla Pycharm 根本不执行 R。
Pycharm 有支持 R 和 Jupyter 笔记本的插件。您或许可以找到一款满足您需求的产品。
我通常通过简单地遵循 Unix 哲学来解决这个问题:
Rscript foo.R | python bar.py
其中 foo.R
将数据打印到 STDOUT 并且 bar.py
期望从 STDIN 读取数据(您也可以 read/write 从文件中读取)。这种方法当然需要您在脚本之间定义一个清晰的数据接口,而不是不加区别地传递所有变量,我个人并不介意,因为我这样做是出于设计最佳实践的考虑。
还有像 reticulate
这样的软件包,它允许您从一种语言调用另一种语言。如果您经常切换语言,这可能会更有用。
感谢以上回答!太棒了。我确实找到了可以帮助其他使用 pycharm 的人的解决方案。
如果你已经安装了R插件选项,你可以使用下面的代码。
Python 保存到羽毛文件的代码:
```
import pyarrow.feather as feather
data = pd.read_csv('C:/Users/data.csv')
feather.write_feather(data, 'C:/Users/data.feather')
```
检索羽毛文件的R代码
```
library(tidyverse)
library(feather)
library(arrow)
data <- arrow::read_arrow('C:/Users/data.feather')
print(data)
```
然而,这个过程看起来非常类似于在 Python 中将文件写入 csv,然后将 csv 上传到 R。可能存在某种类型的轻量级存储差异、速度处理和语言变量 agnostic/class 翻译。下面是官方文档:Git:https://github.com/wesm/feather
阿帕奇之箭:https://arrow.apache.org/docs/python/install.html
RStudio:https://www.rstudio.com/blog/feather/
我是新来的Pycharm;但是,我想利用我的 R 和 Python 知识。我是这两种语言的忠实粉丝,并且我不断地学习更多关于它们的知识。 我希望将 R 变量传递给 Python 变量,类似于 Jupyter Notebook。 我无法在任何地方找到任何示例代码。
R码
x <- 5
python代码
# Some conversion method needs to be added
print(x)
Python 控制台
>>>5
这是可能的,因为 Jupyter 提供了自己的代码运行内核。该内核能够在语言之间转换变量。
Pycharm 不提供内核,而是通过系统上的解释器直接执行 Python 代码。这类似于 python my_script.py
。 AFAIK vanilla Pycharm 根本不执行 R。
Pycharm 有支持 R 和 Jupyter 笔记本的插件。您或许可以找到一款满足您需求的产品。
我通常通过简单地遵循 Unix 哲学来解决这个问题:
Rscript foo.R | python bar.py
其中 foo.R
将数据打印到 STDOUT 并且 bar.py
期望从 STDIN 读取数据(您也可以 read/write 从文件中读取)。这种方法当然需要您在脚本之间定义一个清晰的数据接口,而不是不加区别地传递所有变量,我个人并不介意,因为我这样做是出于设计最佳实践的考虑。
还有像 reticulate
这样的软件包,它允许您从一种语言调用另一种语言。如果您经常切换语言,这可能会更有用。
感谢以上回答!太棒了。我确实找到了可以帮助其他使用 pycharm 的人的解决方案。 如果你已经安装了R插件选项,你可以使用下面的代码。
Python 保存到羽毛文件的代码:
```
import pyarrow.feather as feather
data = pd.read_csv('C:/Users/data.csv')
feather.write_feather(data, 'C:/Users/data.feather')
```
检索羽毛文件的R代码
```
library(tidyverse)
library(feather)
library(arrow)
data <- arrow::read_arrow('C:/Users/data.feather')
print(data)
```
然而,这个过程看起来非常类似于在 Python 中将文件写入 csv,然后将 csv 上传到 R。可能存在某种类型的轻量级存储差异、速度处理和语言变量 agnostic/class 翻译。下面是官方文档:Git:https://github.com/wesm/feather 阿帕奇之箭:https://arrow.apache.org/docs/python/install.html RStudio:https://www.rstudio.com/blog/feather/