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相关推荐

  1. rstudio r语言_如何在R中接受用户输入?

    rstudio r语言 Taking a user input is very simple in R using readline() function. In this tutorial, we ...

  2. python大于等于怎么表示_如何在rejectdb中应用python lambda表达式中的大于等于

    我在reinstdb表中有下面的json记录.在[{ "pid": 12, "sk": [ { "sid": 30, "et&qu ...

  3. unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?

    Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...

  4. m 文件 dll matlab 中调用_如何在matlab中调用python程序

    现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...

  5. 计算密码子频率的代码R语言_科学网—R语言终止密码子统计 - 熊荣川的博文

    熊荣川 六盘水师范学院生物信息学实验室 #R语言终止密码子统计 setwd("**") infile = "protein1.fasta" outname = ...

  6. linuxpython源文件_如何在Linux中运行Python源文件

    一.可执行的Python程序 这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇.首先我们需要通过ch 一.可执行的Python程序 这部分内容只对Linu ...

  7. 怎么抓python程序的包_如何在AWS上部署python应用程序

    如何在AWS上部署python应用程序,学姐呕心沥血亲自总结,亲测有效,比网上看网上大把大把的文档要快得多! 作者:蕾学姐 亚马逊云计算服务(Amazon Web Services,缩写为AWS),由 ...

  8. excel 重复方差分析_如何在Excel中运行方差方差分析的两种方法

    excel 重复方差分析 Recently, we looked at how to Perform a One-Way Analysis of Variance in Excel. In today ...

  9. vscode怎么安装python库_如何在vscode中安装python库的方法步骤

    免费资源网 - https://freexyz.cn/ vscode安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windo ...

最新文章

  1. linux下删除带特殊符号文件的方法
  2. OpenGL EnvironmentMapping环境映射的实例
  3. C#多线程学习(三) 生产者和消费者
  4. scrapyd部署_第八章 第一节 scrapyd和scrapy-client
  5. linux14.04 Apache,Ubuntu 14.04编译安装Apache
  6. 计算机制作网线的方法,如何制作网线?网线制作方法图解
  7. 浏览器怎么导入导出|删除书签,方法步骤来咯
  8. win102004优化_如何对Win10 2004进行优化设置?Win10优化技巧
  9. android root后手机文件管理器,Android超强文件管理器:Root Explorer
  10. WPF实现VS界面效果
  11. 上海交大ACM班俞勇团队出新书了!
  12. MySQL基础之二 | 详解(SQL-DDL)
  13. 我为什么要辞掉20万的工作去读研?
  14. 李宏毅机器学习 02回归
  15. python request 报错 #No JSON object could be decoded
  16. The server time zone value 'xxx' is unrecognized or represents more than one time zone 问题的解决方法
  17. 青云KubeSphere就一个字——“简”
  18. 跳槽重回前公司?当初的离职原因没解决,早晚还得辞职
  19. cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头
  20. 中国现代书画家——张士高、崔世年、姚子华等

热门文章

  1. 抖音上热门有时间吗 先改md5再剪辑视频
  2. java基础性代码拾遗-1(数组和排序)
  3. lol 那个服务器最稳定,lol哪个区的人多,哪个区的技术最好?
  4. linux文件权限设置
  5. 双硬盘分别安装windows和Ubuntu20双系统
  6. Jquery源码之--实现精简选择器 :contains 功能
  7. python PDF合并后大小不一致解决
  8. IndexedDB浏览器本地存储、缓存、数据库、介绍
  9. 篮茑中文编程开发的APP与VFP混搭,一个字“稳”
  10. 小程序源码:微信也可以发闪照了闪照制作生成微信小程序源码下载,自定义闪照时间