前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 Rstudio 中使用 python 语言 (图文详解)

如何在 Rstudio 中使用 python 语言 (图文详解)

作者头像
生信菜鸟团
发布2020-07-07 15:53:10
12.7K1
发布2020-07-07 15:53:10
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团

一直以来我们学习、测试python都会提到 Pycharm,不仅好用,还支持使用 R 语言。

这是pycharm的界面 ↑↑↑

那经典的 Rstudio呢?

之前看到Y叔提到 好用的Python IDE 是 Rstudio,顺势搜索一番发现,有点意思。

熟悉的界面

熟悉的界面,直接在新建中选择 Python Script即可。

直接运行一段测试代码,如果是从来没有进行过操作的,Rstudio 会默认下载 Miniconda进行环境搭建及包管理。

环境配置

1、安装python运行环境,推荐Anaconda。 https://www.anaconda.com/distribution/ 2、安装R与Rstudio R官网:https://www.r-project.org/ 官方网站:https://www.rstudio.com/ 3、安装reticulate包。

代码语言:javascript
复制
install.packages("reticulate")
install.packages("Rcpp")

在R中运行python包都要通过这个进行下载安装,可以理解为一个R-Python接口

测试安装环境
代码语言:javascript
复制
#加载reticulate包
library(reticulate)
#检查您的系统是否安装过Python,安装过为TRUE
py_available()
#选择python版本
use_python("/anaconda3/bin/python")
#指定包含Python virtualenv的目录
use_virtualenv()  
#指定Conda环境的名称
use_condaenv()  

然后要在console中去输入代码,,或者通过以下的方法进行,代码不够精简,不推荐。

代码语言:javascript
复制
library(reticulate)
os <- import("os")
os$listdir() #查看文件
os$getcwd() #返回工作路径
os$chdir("../Desktop/") #修改工作路径

py_install(packages = "numpy") #安装numpy
numpy <- import(“numpy”) #加载numpy
y <- array(1:4, c(2, 2)) 
x <- numpy$array(y) #构建数组
安装python包

如果在尝试中出现错误,可能是由于conda环境等造成的。根据系统不同而分为两种不同的操作:对linux、mac是使用virtualenv;而Windows使用Anaconda。

交互式使用Python

代码语言:javascript
复制
#启动python命令行
repl_python()
-----------------
# 输入python代码
import pandas as pd
# 载入数据集
travel = pd.read_excel(“text.xlsx”)
# 显示数据集的行列数
travel.shape
# 获得R中所创建的对象mydata
r.mydata.describe()
pd.isnull(r.mydata.speed)
# 回到R
exit
-----------------
# py object获取python里的对象t
summary(py$t)

这样就可以使用Pandas读取和操作数据,然后使用ggplot2轻松绘制Pandas数据框,虽然python中也有ggplot2相应的绘图方式。

简单绘图测试

  • 方法一: 使用R包,然后直接在Rscript中绘制:
代码语言:javascript
复制
library(reticulate)
repl_python()
import numpy as np
import matplotlib.pyplot as plt

size = 3
x = np.arange(size)
a = [3, 6, 4]
a_SD = [1, 0.5, 1.5]
b = [4, 7, 3]
b_SD = [0.5, 1, 2]

total_width, n = 0.8, 2
width = total_width / n
x = x - (total_width - width) / 2
labels = ['Trial 1', 'Trial 2', 'Trial 3']

plt.bar(x, a,  width=width, yerr = a_SD, tick_label=labels, label='Control')
plt.bar(x + width, b, width=width, yerr = b_SD, tick_label=labels ,label='Experimental')

plt.legend()
plt.show()
exit
  • 方法二: 在 Python script中直接运行

当然,支持Rstudio的快捷键。

Rmarkdown

reticulate包含一个用于R Markdown的Python引擎,具有以下功能: 1)可在R会话中嵌入的单个Python会话中,运行Python块。同时Python块之间的共享变量/状态。 2)可打印Python输出,包括matplotlib的图形输出。 3)可使用py对象访问R中Python块中创建的对象。 4)使用r对象从Python中访问在R块中创建的对象。

代码语言:javascript
复制
```{python}
import pandas as pd
# 载入数据集
travel = pd.read_excel(“text.xlsx”)
```

```{r,fig.width=7, fig.height=3}
library(ggplot2)
ggplot(py$flights,aes(carrier,arr_delay)) + geom_point()
```

在加载reticulate包的情况下,是可以直接调用python的。

总体来看,在一些方面,的确Rstudio上直接运行python提供了便利,熟悉几个调用的方法就好啦。目前,唯一的问题是基于python画出来图是模糊的,需要再调试调试。

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

本文分享自 生信菜鸟团 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 熟悉的界面
  • 环境配置
    • 测试安装环境
      • 安装python包
      • 交互式使用Python
      • 简单绘图测试
      • Rmarkdown
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档