31. R studio/R 工具指南(十四:在Rstudio中使用python和conda)

2021-12-22 北野茶缸子

參見:https://cloud.tencent.com/developer/article/1657000https://zhuanlan.zhihu.com/p/164507492https://rstudio.github.io/reticulate/index.html

雖然作為數據分析從業者,R 和python 二者擇其一已足以闖天下。

但畢竟天下武功百般,有的時候你使用的工具,或者是你處理的對象使用其他程式語言處理的,你又該怎麼辦呢?

學習python,你可能使用過編輯器如pycharm, vs code 等等。

但如果你是一個R 的重度使用者,比如我,那我建議你直接用Rstudio 就好了~

0. 準備工作

殺雞的第一步是什麼呢?得有雞吧。

所以,你得有個python 環境。

這裡我建議使用conda 進行管理,非常方便。

而在R 中使用python,則需要安裝R 包reticulate。

現在R studio 也已經支持直接修改的操作,我們可以在全局設置中選擇運行的python 環境:

如果你像我一樣,安裝了conda,可以直接在上面的窗口中選擇不同conda 環境下的python。

如果你還沒有創建conda 環境,可以參考下面的使用conda 條目。通過conda 分離不同python 或其他程序版本,可以防止因為軟體或包版本不同造成的汙染。

1. 安裝python 的包

其他詳細內容參考:https://rstudio.github.io/reticulate/articles/python_packages.html#overview-1

這裡我只介紹在R 中使用conda。

類似我們通常在shell 中的使用習慣,也非常方便。

使用conda

畢竟作為一個跨平臺,且集各種環境與軟體於一身的工具,我們在日常中很難不去接觸他。

先前我們提到過conda 的使用,而現在,可以直接以R 代碼的形式進行管理。

不過需要注意的是,這裡的conda 命令,更多的還是為了方便的控制python。

常用命令如下:

conda_list() List all available conda environments
conda_create() Create a new conda environment
conda_install() Install a package within a conda environment
conda_remove() Remove individual packages or an entire conda environment

use_condaenv() use specific conda env

此外,如果你沒有conda,還可以使用該包命令miniconda:

# 安裝miniconda環境
install_miniconda()

# 顯示miniconda安裝地址
miniconda_path()

# 更新miniconda環境
miniconda_update()

接下來就可以在R 中使用conda 安裝包了:

conda_create("r-reticulate") 
conda_install("r-reticulate", "scipy")

當然我們也可以直接在所在的python 環境內直接安裝:

py_install("pandas")

1. 直接在R 中運行python 模塊與函數

reticulate 包非常牛X 的一點是,它允許我們使用R 風格的代碼來運行python。

我們只需要將模塊導入並制定一個變量,就可以使用$ 符號調用它的模塊。

比如說:

library(reticulate)
os <- import("os")
os$listdir(".")
 [1] ".git"             ".gitignore"       ".Rbuildignore"    ".RData"          
 [5] ".Rhistory"        ".Rproj.user"      ".travis.yml"      "appveyor.yml"    
 [9] "DESCRIPTION"      "docs"             "external"         "index.html"      
[13] "index.Rmd"        "inst"             "issues"           "LICENSE"         
[17] "man"              "NAMESPACE"        "NEWS.md"          "pkgdown"         
[21] "R"                "README.md"        "reticulate.Rproj" "src"             
[25] "tests"            "vignettes"    

牛的是,還會顯示幫助文檔:稍微有些差強人意的就是,並不能提示函數參數的使用。

另外,我們在python 中執行的這些操作,都會被保存在py 對象中。

> py$a
[1] 3
> pryr::otype(py)
[1] "S3"

關於R 中運行python 的詳細用法較為複雜。這裡先挖個坑~

2. 創建python 腳本運行

類似在R 中,我們通過source 運行R 腳本。reticulate 包提供了source_python() 函數,可以讓我們加載python 中的函數。

首先是定義python 腳本:

import pandas
def read_flights(file):
  flights = pandas.read_csv(file)
  flights = flights[flights['dest'] == "ORD"]
  flights = flights[['carrier', 'dep_delay', 'arr_delay']]
  flights = flights.dropna()
  return flights

接下來可以在R 中直接使用:

source_python("flights.py")
flights <- read_flights("flights.csv")

3. 直接進入python 交互
> repl_python()
Python 3.8.3 (/Users/appe/opt/anaconda3/bin/python)
Reticulate 1.20 REPL -- A Python interpreter in R.
>>> a = 3
>>> b = 4
>>> a,b = b,a
>>> a
4
>>> b
3

相關焦點

  • Rstudio Server 不同R版本配置和切換
    --get channels#更新minicondaconda update conda#查看鏡像中是否有R4.0版本 conda search R#r 4.0 r40_1004 anaconda/cloud/conda-forge#r 4.0 r40_1004 conda-forge #查看conda裝R4之前的R位置和版本:
  • 從iso文件到可以隨時移植的虛擬機vdi鏡像 (Ubuntu20版本和R語言4.0版本)
    環境這裡我們這個鏡像用於多組學數據處理,所以我需要按照不同的組學安裝不同的虛擬環境首先是 擴增子數據分析安裝Qiime1使用conda虛擬環境安裝conda create -n qiime1 python=2.7 qiime matplotlib=1.4.3 mock nose -c bioconda#查看當前環境 conda info
  • 【生信小課堂】非root的R IDLE的選擇R studio與Jupyter
    接著,我們需要把condarc裡面的國內鏡像全部停用,因為清華沒有這個r的鏡像,接著安裝的話,我們為了避免汙染環境,選擇獨立創建一個環境mamba create -n rstudio -c r -c https://mirrors.bfsu.edu.cn/anaconda/
  • R語言學習指南(1) 配置R與Rstudio
    /r-base_4.0.3-1.1804.0_all.debsudo gdebi r-base_4.0.3-1.1804.0_all.deb2.(Beijing 1) [https]-TUNA Team,Tsinghua University完成上述設置我們已經配置好了R分析環境,最終我們將在Rstudio中來編寫我們的R代碼,Rstudio界面如下所示註:若使用Linux版Rstudio,會發現無法輸入中文,可以通過以下方法來解決
  • 雲伺服器應用(一):安裝rstudio-server
    如果你非要在centos 7,ubuntu,虛擬機,WSL2中運行,然後問為什麼同樣的代碼,你運行不出來,請自行解決。購買騰訊雲伺服器購買一臺雲伺服器,配置不用太高,只用來提供測試,不用於分析數據,因為雲伺服器價格較高。購買這臺設備不需要配置太高,只需要能編譯軟體就行。
  • 【R教程】R與RStudio簡介及安裝
    ,屬於GNU系統的一個自由、免費、原始碼開放的軟體,是用於統計計算和統計繪圖的優秀工具。即使只使用RStudio,還是需要事先為計算機安裝好R。RStudio只是輔助你使用R進行編輯的工具,因為它自身並不附帶R程序。 2R簡介2.1、發展歷史:R是統計領域廣泛使用的誕生於1980年左右的S語言的一個分支。可以認為R是S語言的一種實現。
  • 手把手教你配置在線版 Rstudio(圖文詳解)
    Rstudio 官方其實有個可以在本地伺服器安裝的 server 版,也就是使用伺服器的硬體配置,用自己的工作電腦登錄瀏覽器就可以使用,避免以上問題。 sudo apt-get install r-base sudo apt-get install gdebi-core wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2021.09.0-351-amd64.deb sudo gdebi rstudio-server
  • R語言|1. R與R Studio的安裝及基本設置
    安裝R時建議默認路徑安裝,碰到好幾個朋友用中文建的安裝文件夾,再安裝好R studio時,R studio識別不到R程序。這裡多說一句,用R語言時儘量都用英語或者拼音或者縮寫,很多地方R會識別為亂碼網址:https://rstudio.com/或者百度搜索
  • R Studio使用的特殊姿勢--伺服器搭建
    如果上面的步驟一切順利的話,此時網頁中會顯示出一片漆黑的頁面伴隨著意義不明的白色英文字符(Shell界面),提示已經成功通過SSH連接至伺服器中。    不懂Linux下的Shell語言沒有關係,我們最終使用軟體的界面還是非常友好的圖形界面。
  • R語言與數據分析系列之【R與Rstudio的安裝】
    4 下載R底層基礎、捐獻包或者工具包四、Rstudio的認識與安裝RStudio是一套集成工具,旨在幫助您提高R的工作效率。它包括控制臺(console)、支持直接代碼執行的編輯器,以及各種用於繪圖、查看歷史、調試和管理工作區的強大工具。Rstudio官網:https://rstudio.com/,下載選擇免費版本,下載好後默認安裝即好(路徑選擇可選默認,也可更改,但依然同R安裝要求一致)。
  • 使用conda安裝R
    收錄於話題 #軟體安裝與使用 使用conda安裝R(集群操作)2021-11-241.
  • Rmarkdown以及Rstudio安裝配置debug
    Rstudio無法用https正常下載R包有些伺服器會有無法用https訪問網站的問題,如:URL 'https://cran.rstudio.com/src/contrib/PACKAGES.rds': status was 'SSL connect error'常用的簡單方法是在install.packages()增加repos參數來指定安裝源(將https
  • 如何在 Pycharm 中高效使用 R 語言 (圖文詳解)
    而幾乎提到 R,就會用到 Rstudio 作為開發工具。然而,武林中還有一款可以撼動 Rstudio 江湖地位的開發工具:Pycharm。並分別支持它們各自的語法高亮和調試。同時支持項目管理,多人協作,版本控制和遠程編輯調試,省心又省力。
  • Python系列特別篇-Conda和JupyterLab
    安裝完成、配置好環境變量後呢就可以使用conda命令了:mybook@h2r ~% conda --helpusage: conda [-h] [-V] command ...@h2r ~ % conda create -n py39 python=3.9Fetching package metadata Solving package specifications: .
  • R和Python誰更好?這此讓你「魚與熊掌」兼得
    /accessing-r-from-python-using-rpy2/Python with R我們可以通過如下幾個工具在 Python 中運行 R 語言的腳本:該工具包通過 Jython 部署了連接 Python 的界面,提供了將 Python 與 R 連通的接口。
  • Vscode中python調用R的兩種通用方法
    下面用python3和ggplot2包展示兩種方法:1.單獨在python命令行中使用Rscript  test.R就可以正常運行test.R文件。gapminder為R自帶的一個數據集,第一次需要安裝ggplot2包,install.packages安裝就可以了,安裝過程中會要求選擇鏡像,選擇china中的一個就可以,如果安裝失敗可以用conda命令:conda install -c r r-ggplot2。
  • 安卓上使用R語言
    怎麼安裝就像在你的電腦上一樣,一如既往地:apt-get updateapt-get upgradeapt-get install r-base r-base-dev然後你就可以使用R了。畫圖要畫圖的話,你得額外的東西,也就是X11 server,不然沒辦法直接畫。
  • Python與R共舞
    之間協同操作的全套工具,在R和Rstudio中均可使用。主要包括:1)在R中支持多種方式調用Python。包括R Markdown中使用Python、導入Python庫、加載Python腳本以及在R交互式地使用Python。2)實現R和Python對象之間的轉換(例如R和Python數據框、R矩陣與NumPy數組之間)。3)靈活綁定到不同版本的Python,包括虛擬環境和Conda環境。
  • R 和 RStudio 的安裝及 R Profile 的配置 & 初識 R 語言數據爬取
    Windows 用戶:安裝 Rtools:Windows 構建工具(Mac 用戶請跳過)好像只有 Windows 用戶需要安裝這個工具:https://cran.r-project.org/bin/windows/Rtools/rtools40-x86_64.exe如果你的電腦是 32
  • CentOS 7系統如何安裝Rstudio-server
    系統或者Ubuntu不同,安裝Rstudio之後,其他設備是無法通過網絡登錄Rstudio的,這就需要修改防火牆,本次推文,我們將詳細介紹如何在RHEL 7系統,包括CentOS系統中,安裝和使用Rstudio-server。