在python中使用R—rpy2包学习

作者: 生信编程日常 | 来源:发表于2019-12-12 10:20 被阅读0次

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

  1. 安装
pip install rpy2

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

conda install -c r rpy2
  1. 使用
    比如如下使用iris数据集,求第一列Sepal.Length的均值:
import rpy2.robjects as robjects

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

这段代码可返回:

image.png
  1. 在notebook中直接使用
    加载rpy2.ipython:
%load_ext rpy2.ipython

在cell中调用R:

image.png

画图:

%%R -w 500 -h 300 
# 画图
data(iris)
plot(iris$Sepal.Length, iris$Sepal.Width)
image.png

调用ggplot2画图:

%%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
image.png

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

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

import os
os.system("ls") # 列出当前文件夹所有的文件
# 输出test文件的内容
os.system(os.system("awk '{print $0}' test.txt"))
image.png

相关文章

网友评论

    本文标题:在python中使用R—rpy2包学习

    本文链接:https://www.haomeiwen.com/subject/lqvzgctx.html