python與R交互(rpy2的安裝、配置和使用)

  • 安裝R
  • 安裝rpy2
  • 配置
  • notebook的使用

1. 安裝R

可以去網(wǎng)上搜索安裝包直接安裝。將R的路徑放到系統(tǒng)環(huán)境,就可以在cmd中輸入R來(lái)檢驗(yàn)R安裝是否成功。
系統(tǒng)環(huán)境

2. 安裝rpy2

作者直接pip install rpy2出錯(cuò)
  • 如果安裝了anoconda或者miniconda,可以使用conda install rpy2直接安裝rpy2(會(huì)自動(dòng)選擇合適的rpy2版本)。
  • 如果直接安裝的python,可以去網(wǎng)上下載rpy2的安裝包離線安裝。

3. 配置

為了讓python識(shí)別到R的安裝地址,需要配置兩個(gè)路徑。
  • R_HOME;R_USER


    系統(tǒng)變量
  • 建議:設(shè)置好以后重啟一下

4. notebook的使用

在配置好以后就可以直接在python中調(diào)用R了,例如:
from rpy2.robjects import r as Rcode
from rpy2.robjects.packages import importr as Rrequire
Rrequire('ggplot2') # 導(dǎo)入R包
print(Rcode("pi")) # 運(yùn)行R語(yǔ)句
# [1] 3.141593
但是這么用有一些不方便,R很多時(shí)候需要一步步地運(yùn)行來(lái)看變量或數(shù)據(jù)集的變化,此外Python調(diào)用的R與直接用R寫(xiě)代碼時(shí)會(huì)有些許不同。使用notebook來(lái)解決這個(gè)問(wèn)題,anoconda集成了notebook,以下的操作都在anoconda環(huán)境下的notebook中運(yùn)行的。

(如果只是調(diào)用R中的幾個(gè)函數(shù),以下可忽略)


python調(diào)用R
上圖實(shí)現(xiàn)的過(guò)程中需要注意以下幾點(diǎn):
  • -i表示input,有時(shí)候還會(huì)用到-o,表示output。
  • 注意在這里R中的library用不了,用require。
  • 直接運(yùn)行l(wèi)oad_ext rpy2.ipython大概率會(huì)因?yàn)槿鄙僖恍┌鲥e(cuò),缺什么補(bǔ)什么。
  • %%R指的是調(diào)用%R,直接%R調(diào)用不了ggplot2。
以下再給出一個(gè)調(diào)用R的例子,注意這里調(diào)用的%R調(diào)用的是R的基礎(chǔ)包
python調(diào)用R
附1:
  • notebook中的語(yǔ)法提示,cmd中安裝nbextensions,代碼如下(以下代碼在anoconda環(huán)境下可以運(yùn)行):
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install --user jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
  • 重啟后在nbextensions中勾選Hinterland
附2:
  • R運(yùn)行python可參考R的包reticulate,作者用不上,沒(méi)有進(jìn)一步研究。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,707評(píng)論 0 5
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,314評(píng)論 0 5
  • MSSQL 跨庫(kù)查詢(xún)(臭要飯的!黑夜) 榨干MS SQL最后一滴血 SQL語(yǔ)句參考及記錄集對(duì)象詳解 關(guān)于SQL S...
    碧海生曲閱讀 5,885評(píng)論 0 1
  • 笑容經(jīng)過(guò)臉龐 笑容經(jīng)過(guò)身體 笑容經(jīng)過(guò)思想 笑容經(jīng)過(guò)我的內(nèi)心 愛(ài) 不需要理由 情 回憶滿(mǎn)滿(mǎn) 清風(fēng)拂面 自在依然 謝謝...
    皆非_lx閱讀 337評(píng)論 4 6
  • Have you ever been in the dark? Otherwise, how could you ...
    真是奇葩了閱讀 444評(píng)論 0 1

友情鏈接更多精彩內(nèi)容