python 运行r语言_如何在R中运行Python
python 运行r语言
尽管我很喜欢R,但很显然Python还是一种很棒的语言-既适用于数据科学又适用于通用计算。 R用户想要在Python中做一些事情可能有充分的理由。 也许这是一个很棒的库,还没有R等效项。 或者您要访问的API带有Python中的示例代码,但没有R。
借助R Reticulate软件包 ,您可以在R脚本中直接运行Python代码,并在Python和R之间来回传递数据。
[ 在我们的视频教程系列中获得Sharon Machlis的R技巧 。 | 阅读InfoWorld教程: 学习使用R处理大数据 。 • 如何重塑R中的数据 。 • 触手可及的R数据操作技巧 • R的 初学者指南 。 | 通过InfoWorld大数据报告新闻通讯了解最新的分析和大数据。 ]
除了网状结构,您还需要在系统上安装Python。 您还需要Python代码所依赖的任何Python模块,程序包和文件。
如果您想继续,请使用install.packages("reticulate")
和library(reticulate)
安装并加载网状library(reticulate)
。
为简单起见,让我们从仅两行Python代码开始,以导入NumPy软件包以进行基本的科学计算,并创建一个由四个数字组成的数组。 Python代码如下所示:
import numpy as npmy_python_array = np.array([2,4,6,8])
这是在R脚本中正确执行此操作的一种方法:
py_run_string("import numpy as np")py_run_string("my_python_array = np.array([2,4,6,8])")
py_run_string()
函数执行括号和引号内的所有Python代码。
如果您在R中运行该代码,则看起来什么也没发生。 RStudio环境窗格中未显示任何内容,并且未返回任何值。 如果在R中运行print(my_python_array)
,则会收到一个错误,指出my_python_array
不存在。
但是,如果您在py_run_string()
函数中运行Python打印命令,例如
py_run_string("for item in my_python_array: print(item)")
您应该会看到结果。
但是,如果您有多行代码,那么逐行运行Python代码将很烦人。 因此,还有其他几种方法可以在R中运行Python并生成网格。
一种是将所有Python代码放入常规的.py文件中,并使用py_run_file()
函数。 我喜欢的另一种方法是使用R Markdown文档。
R Markdown使您可以在单个文档中组合文本,代码,代码结果和可视化。 您可以通过选择“文件”>“新建文件”>“ R Markdown”在RStudio中创建一个新的R Markdown文档。
代码块以三个反引号( ```
)开始,以三个反引号结束,并且在RStudio中默认情况下它们具有灰色背景。
第一个块用于R代码-您可以在左括号后的r
看到它。 它加载了网状包,然后指定要使用的Python版本。 (如果未指定,它将使用您的系统默认值。)
```{r setup, include=FALSE, echo=TRUE}
library(reticulate)
use_python("/usr/bin/python")
```
下面的第二个块是针对Python代码的。 您可以像在Python文件中一样键入Python。 下面的代码导入NumPy,创建一个数组,然后打印该数组。
```{python}import numpy as npmy_python_array = np.array([2,4,6,8])for item in my_python_array: print(item)```
这是很酷的部分:您可以在R中使用该数组,方法是将其称为py$my_python_array
(通常为py$objectname
)。
在下一个代码块中,我将该Python数组存储在一个名为my_r_array
的R变量中。 然后,我检查该数组的类。
```{r}my_r_array <- py$my_python_arrayclass(my_r_array)``
这是一个“数组”类,这与您对R对象的期望并不完全相同。 但是我可以使用as.vector(my_r_array)
将其转换为常规向量,并对其执行任何R操作,例如将每一项乘以2。
```{r}my_r_vector <- as.vector(py$my_python_array)class(my_r_vector)my_r_vector <- my_r_vector * 2```
下一个很酷的部分:我可以在Python中使用R变量,如r.my_r_array
(更一般而言, r.variablename
),例如
```{python}my_python_array2 = r.my_r_vectorprint(my_python_array2)```
如果您想在不设置Python的情况下看到它的外观,请查看此故事顶部的视频。
翻译自: https://www.infoworld.com/article/3340120/how-to-run-python-in-r.html
python 运行r语言
python 运行r语言_如何在R中运行Python相关推荐
- rstudio r语言_如何在R中接受用户输入?
rstudio r语言 Taking a user input is very simple in R using readline() function. In this tutorial, we ...
- python大于等于怎么表示_如何在rejectdb中应用python lambda表达式中的大于等于
我在reinstdb表中有下面的json记录.在[{ "pid": 12, "sk": [ { "sid": 30, "et&qu ...
- unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?
Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...
- m 文件 dll matlab 中调用_如何在matlab中调用python程序
现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...
- 计算密码子频率的代码R语言_科学网—R语言终止密码子统计 - 熊荣川的博文
熊荣川 六盘水师范学院生物信息学实验室 #R语言终止密码子统计 setwd("**") infile = "protein1.fasta" outname = ...
- linuxpython源文件_如何在Linux中运行Python源文件
一.可执行的Python程序 这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇.首先我们需要通过ch 一.可执行的Python程序 这部分内容只对Linu ...
- 怎么抓python程序的包_如何在AWS上部署python应用程序
如何在AWS上部署python应用程序,学姐呕心沥血亲自总结,亲测有效,比网上看网上大把大把的文档要快得多! 作者:蕾学姐 亚马逊云计算服务(Amazon Web Services,缩写为AWS),由 ...
- excel 重复方差分析_如何在Excel中运行方差方差分析的两种方法
excel 重复方差分析 Recently, we looked at how to Perform a One-Way Analysis of Variance in Excel. In today ...
- vscode怎么安装python库_如何在vscode中安装python库的方法步骤
免费资源网 - https://freexyz.cn/ vscode安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windo ...
最新文章
- linux下删除带特殊符号文件的方法
- OpenGL EnvironmentMapping环境映射的实例
- C#多线程学习(三) 生产者和消费者
- scrapyd部署_第八章 第一节 scrapyd和scrapy-client
- linux14.04 Apache,Ubuntu 14.04编译安装Apache
- 计算机制作网线的方法,如何制作网线?网线制作方法图解
- 浏览器怎么导入导出|删除书签,方法步骤来咯
- win102004优化_如何对Win10 2004进行优化设置?Win10优化技巧
- android root后手机文件管理器,Android超强文件管理器:Root Explorer
- WPF实现VS界面效果
- 上海交大ACM班俞勇团队出新书了!
- MySQL基础之二 | 详解(SQL-DDL)
- 我为什么要辞掉20万的工作去读研?
- 李宏毅机器学习 02回归
- python request 报错 #No JSON object could be decoded
- The server time zone value 'xxx' is unrecognized or represents more than one time zone 问题的解决方法
- 青云KubeSphere就一个字——“简”
- 跳槽重回前公司?当初的离职原因没解决,早晚还得辞职
- cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头
- 中国现代书画家——张士高、崔世年、姚子华等