前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在python中使用R—rpy2包学习

在python中使用R—rpy2包学习

作者头像
生信编程日常
发布2020-04-01 15:34:51
3.2K0
发布2020-04-01 15:34:51
举报

python与R处理数据都十分方便,不过功能侧重点不是很一样,python作为一种通用型语言用处更加广泛;而R在可视化和统计分析等方面更加方便。有时候在python的代码中插入R的code会更快捷的实现我们想要的功能,rpy2这个包则可以让我们实现这一功能。

1.安装

代码语言:javascript
复制
pip install rpy2

如果安装不上的话,可以试试conda:

代码语言:javascript
复制
conda install -c r rpy2

2.使用 比如如下使用iris数据集,求第一列Sepal.Length的均值:

代码语言:javascript
复制
import rpy2.robjects as robjects

rscript = '''
data(iris)
print(mean(iris$Sepal.Length))
'''
robjects.r(rscript)

这段代码可返回:

3.在notebook中直接使用 加载rpy2.ipython:

代码语言:javascript
复制
%load_ext rpy2.ipython

在cell中调用R:

画图:

代码语言:javascript
复制
%%R -w 500 -h 300 
# 画图
data(iris)
plot(iris$Sepal.Length, iris$Sepal.Width)

调用ggplot2画图:

代码语言:javascript
复制
%%R -w 500 -h 300 
library(ggplot2)
# data(iris)
p = ggplot(data,aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point(size=4)
print(p

这样就可以实现在jupyter notebook中写python的同时也能写R了!

此外,在python中也可以调用shell命令,一个比较简单的方法是导入os模块来实现,如下所示:

代码语言:javascript
复制
import os
os.system("ls") # 列出当前文件夹所有的文件
# 输出test文件的内容
os.system(os.system("awk '{print $0}' test.txt"))
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档