前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >工具 | 如何在Python中调用R语言包?

工具 | 如何在Python中调用R语言包?

作者头像
小莹莹
发布于 2018-04-24 08:11:58
发布于 2018-04-24 08:11:58
12.1K0
举报

R语言是非常强大的做统计分析和建模方面的开源软件,它有非常丰富的统计软件包,做统计可以说只有你想不到的,没有R办不到的。Python又是当下最流行的编程软件之一,Python也是开源的,包含了非常丰富的第三方库(如机器学习算法),那么如何让Python和R共同工作呢?利用Python中的rpy2包就可以实现这一想法。

如何安装rpy2?

首先需要安装Python的科学计算环境Anaconda和R软件(最好再安装个Rstudio,好用到爆的R软件IDE,安装和管理R包太方便了),安装好Anaconda和R软件后,在系统的命令提示符里输入:

conda install -c r rpy2=2.8.5

我这里已经安装好了,如下:

这里是用Anaconda的conda install方法安装Python包,可不要小看了这个安装方法,如果用pip install rpy2、easy install rpy2或者把rpy2包下载到本地使用python setup.py install方法安装rpy2包可就各种出错啦!!有人好受的......conda install这个方法作者找了很久,至少百度上介绍的所有安装rpy2的方法基本都会或多或少地报错。

加载rpy2与rpy2包的内容

rpy2,可以实现使用python读取R的对象、调用R的方法以及Python与R数据结构转换等。

(1)加载rpy2

rpy2包里面包含下面的内容:

我们使用最多的就是robjects这个高水平交互的方法。

如何使用ry2

(1)在Python中加载R软件包

需要用到robjects中的packages里面的importr函数,我们以R中的stats包和ggplot2包为例,ggplot2是R中超级强大的绘图包。当然,需要先在R软件中加载这两个包。

(2)访问R实例

需要用到robjects.r,它是在Python中的嵌入式R进程,把r当作从python走向R的通道来看就可以了。通过r实例,我们可以读取R的内置变量、调用R的函数、甚至,直接把它当作R的解析器来用。

上面用了三种方式来访问R对象中的pi,分别把r实例当作字典,把r实例当作方法,把r实例当作一个类对象。

还可以用过R实例,直接在Python中写R代码:

总之用robjects.r(' '),括号里面可以直接敲R的代码就是了!!

(3)利用robjects创建R向量

创建R的字符型、整形和浮点型向量

(4)调用R函数

利用robjects.r(' ')调用R中的函数,以sum求和函数和sort排序函数为例

(5)调用R语言绘图

example1:

得到下面的结果:

example2:利用R的ggplot2包绘图

得到如下结果:

(6)调用R的stats包进行方差分析

得到如下结果:

总结

本文主要介绍了利用rpy2包在Python中访问R语言包和函数,其中最重要的子包是robjects,可以生成R中的数据结构;最重要的实例是rojects.r(' '),可以通过三种方式访问R中的数据和函数,甚至可以利用其在Python中进行R编程;最重要的函数是importr(' '),它可以加载所有R语言中安装的包。在Python中使用R语言的包还有很多,rpy2只是其中一个,这就是开源软件的强大之处啊!

END.

来源: 研模时光

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于MNIST手写体数字识别--含可直接使用代码【Python+Tensorflow+CNN+Keras】
利用数据集:MNIST http://yann.lecun.com/exdb/mnist/ 完成手写体数字识别 紫色yyds
司六米希
2022/11/15
5.5K0
基于MNIST手写体数字识别--含可直接使用代码【Python+Tensorflow+CNN+Keras】
我们建了个模型,搞定了 MNIST 数字识别任务
对于图像分类任务,当前最先进的架构是卷积神经网络 (CNNs).。无论是面部识别、自动驾驶还是目标检测,CNN 得到广泛使用。在本文中,针对著名的 MNIST 数字识别任务,我们设计了一个以 tensorflow 为后台技术、基于 keras 的简单 2D 卷积神经网络 (CNN) 模型。整个工作流程如下:
AI研习社
2018/07/26
7790
我们建了个模型,搞定了 MNIST 数字识别任务
用深度学习keras的cnn做图像识别分类,准确率达97%
Keras是一个简约,高度模块化的神经网络库。 可以很容易和快速实现原型(通过总模块化,极简主义,和可扩展性) 同时支持卷积网络(vision)和复发性的网络(序列数据)。以及两者的组合。 无缝地运行在CPU和GPU上。 keras的资源库网址为https://github.com/fchollet/keras olivettifaces人脸数据库介绍 Olivetti Faces是纽约大学的一个比较小的人脸库,由 40个人的400张图片构成,即每个人的人脸图片为10张。每张图片的灰度级为8位,每个像素
机器学习AI算法工程
2018/03/15
2.7K0
用深度学习keras的cnn做图像识别分类,准确率达97%
Keras Callback之RemoteMonitor
Keras提供了一系列的回调函数,用来在训练网络的过程中,查看网络的内部信息,或者控制网络训练的过程。BaseLogger、ProgbarLogger用来在命令行输出Log信息(默认会调用), EarlyStopping、ReduceLROnPlateu分别用来提前终止训练和自动调整学习率,改变网络训练过程;而今天要介绍的RemoteMonitor则用来实时输出网络训练过程中的结果变化情况,包括训练集准确率(accu)、训练集损失值(loss)、验证集准确率(val_acc)、验证集损失值(val_loss),用户也可以自己修改需要显示的数据。一图胜千言,看看下面的结果图吧:
王云峰
2019/12/25
9280
Keras Callback之RemoteMonitor
Keras介绍
Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:
用户7886150
2021/02/14
1.2K0
机器学习-用keras做cnn手写数字识别
在用全连接做手写数字识别的时候,准确率有97%了,但是还是会出现一些测试图片没有预测对,出来更好的去优化参数,现在就直接改进神经网络的模型,用cnn去训练数据。
sjw1998
2019/09/28
9960
Keras-深度学习-神经网络-手写数字识别模型
使用到的数据集为IMDB电影评论情感分类数据集,该数据集包含 50,000 条电影评论,其中 25,000 条用于训练,25,000 条用于测试。每条评论被标记为正面或负面情感,因此该数据集是一个二分类问题。
叶茂林
2023/07/30
2680
Keras-深度学习-神经网络-手写数字识别模型
基于keras的手写数字识别_数字识别
Flatten层: Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡,举例如下
全栈程序员站长
2022/10/05
1.9K0
Auto ML 一种自动完成机器学习任务的系统
在 2018 年比较火,很多大公司都开源了各自的auto ml库,例如 Cloud AutoML, AUTO KERAS, Auto Sklearn, Auto Weka 等,
杨熹
2019/02/20
5480
Auto ML 一种自动完成机器学习任务的系统
是选择Keras还是PyTorch开始你的深度学习之旅呢?
原文:https://medium.com/@karan_jakhar/keras-vs-pytorch-dilemma-dc434e5b5ae0
kbsc13
2020/05/22
5770
用多层感知机识别手写体(Keras)
独热编码即 One-Hot-coding,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。例如对六个状态进行编码:自然顺序码为 000,001,010,011,100,101独热编码则是 000001,000010,000100,001000,010000,100000
用户3577892
2020/06/11
2.7K0
【深度残差收缩网络】超简单Keras代码
从本质上讲,深度残差收缩网络属于卷积神经网络,是深度残差网络(deep residual network, ResNet)的一个变种。它的核心思想在于,在深度学习进行特征学习的过程中,剔除冗余信息是非常重要的;软阈值化是一种非常灵活的、删除冗余信息的方式。
用户6831054
2019/12/31
2.3K0
【深度残差收缩网络】超简单Keras代码
Keras入门级MNIST手写数字识别超级详细教程
文件下载:https://download.csdn.net/download/sxf1061700625/19229794
小锋学长生活大爆炸
2021/05/30
6.7K0
Keras入门级MNIST手写数字识别超级详细教程
用Keras通过Python进行卷积神经网络的手写数字识别
图像识别是深度学习技术的一个普遍具有的功能。
青橙.
2018/02/07
6K0
用Keras通过Python进行卷积神经网络的手写数字识别
基于vision-ml模型训练框架改造以及实际场景应用识别弹窗
在之前的很多分享中,在UI自动化处理上,大家都是对弹窗做了很多的讲解,不管是最近看的360测试之美,还是之前的各种分享中,但是一直都没有实战过。那天看了https://testerhome.com/articles/27527文章半天,也没有写出来代码,但是呢,在和大佬沟通中呢,推荐了美团开源的一个框架--vision-ml
雷子
2021/12/09
4951
基于vision-ml模型训练框架改造以及实际场景应用识别弹窗
数据科学 IPython 笔记本 四、Keras(下)
为了节省时间,你可以采样一个观测子集(例如 1000 个),这是你选择的特定数字(例如 6)和 1000 非特定数字的观察值(即非 6)。我们将使用它构建一个模型,并查看它在测试数据集上的表现。
ApacheCN_飞龙
2022/05/07
8640
数据科学 IPython 笔记本 四、Keras(下)
Python人工智能 | 十七.Keras搭建分类神经网络及MNIST数字图像案例分析
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章详细讲解了Keras环境搭建、入门基础及回归神经网络案例。本篇文章将通过Keras实现分类学习,以MNIST数字图片为例进行讲解。基础性文章,希望对您有所帮助!
Eastmount
2022/04/19
1K0
Python人工智能 | 十七.Keras搭建分类神经网络及MNIST数字图像案例分析
TensorFlow快餐教程:程序员快速入门深度学习五步法
作为一个程序员,我们可以像学习编程一样学习深度学习模型开发。我们以 Keras 为例来说明。
AI科技大本营
2018/07/23
4240
TensorFlow快餐教程:程序员快速入门深度学习五步法
TensorFlow快餐教程:程序员快速入门深度学习五步法
作者简介:刘子瑛,阿里巴巴操作系统框架专家;CSDN 博客专家。工作十余年,一直对数学与人工智能算法相关、新编程语言、新开发方法等相关领域保持浓厚的兴趣。乐于通过技术分享促进新技术进步。 作为一个程序员,我们可以像学习编程一样学习深度学习模型开发。我们以 Keras 为例来说明。 我们可以用 5 步 + 4 种基本元素 + 9 种基本层结构,这 5-4-9 模型来总结。 5步法: 1. 构造网络模型 2. 编译模型 3. 训练模型 4. 评估模型 5. 使用模型进行预测 4种基本元素:
用户1737318
2018/07/20
5060
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
在本文中,我们将学习如何使用keras,用手写数字图像数据集(即MNIST)进行深度学习。本文的目的是为了让大家亲身体验并熟悉培训课程中的神经网络部分。
拓端
2022/06/08
1.5K0
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
推荐阅读
相关推荐
基于MNIST手写体数字识别--含可直接使用代码【Python+Tensorflow+CNN+Keras】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档