手把手 | 哇!用R也可以跑Python了

2021-02-26 生信寶典


大數據文摘作品

編譯:大茜、錢天培

R還是Python?

真是個千古難題!

如果你主要從事數據分析、統計建模和可視化,R大概是你的不二之選。但如果你還想來搞點深度學習,整個自然語言處理,那你可還真得用Python。

如果你處於交叉領域,很可能就需要兩種語言切換。後果是,寫個for loop還出bug真的是家常便飯。報警!

面對這種困境的絕不止你一個人!最近的KDnuggets Analytics的軟體調查中,Python和R位居數據科學和機器學習軟體的前兩名。

如果你真的想提高你在數據科學領域的能力,這兩種語言你確實都應該學習。

不過現在好消息來了!

RStudio開發了一個名為reticulate的包。通過安裝包,你現在可以在R上運行Python的安裝包和函數了~

今天文摘菌就來教教你咋用這個reticulate包。

運行下面的命令來安裝這個包、並導入到您的系統中。

# 安裝reticulate包
install.packages("reticulate")
# 加載reticulate包
library(reticulate)

py_available()

返回值為TRUE或FALSE。如果返回的是TRUE,那恭喜你,您的系統已經有Python啦。FALSE的話就得先去裝一下Python了。

您可以使用函數import()來導入特定的包或模塊。

os <- import(「os」)
os$getcwd()

上面的命令返回工作目錄。

[1]"C:\\Users\\DELL\\Documents"

您可以使用os包中的listdir()函數來查看工作目錄中的所有文件。

os$listdir()

第一步:創建新的工作環境;

conda_create(「r-reticulate」)

第二步:在conda環境下安裝「r-reticulate」和「numpy」;

conda_install(「r-reticulate」,「numpy」)

如果「numpy」已經安裝,您不必再次安裝這個包。上面的代碼只是給個例子而已。

第三步:加載包。

numpy <- import(「numpy」)

首先建立一個簡單的numpy數組

y <- array(1:4, c(2, 2))
x <- numpy$array(y)

      [,1] [,2]
[1,]    1    3
[2,]    2    4

numpy$transpose(x)

      [,1] [,2]
[1,]    1    2
[2,]    3    4

numpy$linalg$eig(x)

numpy$sqrt(x)
numpy$exp(x)

您可以在R中創建交互式Python控制臺。您在Python中創建的對象可在R中使用(反之亦然)。通過使用repl_python()函數,可以使Python和R交互。首先,下載以下程序中使用的數據集:

repl_python()
# 加載「panda」數據集
import pandas as pd
# 載入數據集
travel = pd.read_excel(「AIR.xlsx」)
# 顯示數據集的行列數
travel.shape
# 隨機選取數據集中的行數
travel.sample(n = 10)
# 按某一標誌分組
travel.groupby(「Year」).AIR.mean()
# 篩選數據個案
t = travel.loc[(travel.Month >= 6) & (travel.Year >= 1955),:]
# 回到R
exit

注意:您需要鍵入「exit」來返回到R會話

你可以在利用py object獲取python裡的對象。

summary(py$t)

在這種情況下,我會用R的summary()函數並訪問在python中創建的數據集T。此外,您可以使用ggplot2軟體包繪製折線圖。

#利用ggplot2繪製線圖
library(ggplot2)
ggplot(py$t, aes(AIR, Year)) + geom_line()

您可以使用r object來解決這個問題。

先在R中創建一個對象:

mydata = head(cars, n=15)

在Python REPL中調用之前在R中所創建的對象:

repl_python()
import pandas as pd
r.mydata.describe()
pd.isnull(r.mydata.speed)
exit

sklearn軟體包是python中最受歡迎的機器學習軟體包之一,它支持各種統計和機器學習的算法。

repl_python()
# 加載包
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
# 加載資料庫
iris = datasets.load_iris()
# 建立logit模型
model = LogisticRegression()
model.fit(iris.data, iris.target)
# 進行預測
actual = iris.target
predicted = model.predict(iris.data)
#模型性能對比矩陣
print(metrics.classification_report(actual, predicted))
print(metrics.confusion_matrix(actual, predicted))

運行py_config()命令來查看系統中安裝的R的版本。它還能顯示anaconda和numpy的詳細信息。

py_config()

可以用以下命令來檢查「pandas」是否安裝:

py_module_available(「pandas」)

原文連結:

https://www.r-bloggers.com/run-python-from-r/

R統計和作圖Python




【今日機器學習概念】

Have a Great Definition志願者介紹

相關焦點

  • 手把手 |哇!用R也可以跑Python了
    通過安裝包,你現在可以在R上運行Python的安裝包和函數了~今天文摘菌就來教教你咋用這個reticulate包。通過使用repl_python()函數,可以使Python和R交互。中創建的對象你可以在利用py object獲取python裡的對象。
  • R和Python可以兼得嗎?
    出現這種情況的原因有很多,但最常見的一個場景是你正在用 R 構建某些東西,同時需要自己或其他人之前用 Python 編寫的功能。當然,你可以用 R 重寫它,但這不是很 DRY 嗎?R 中的 reticulate 這個包讓你可以在 R 會話中執行 Python 代碼。它實際上已經出來幾年了,並且一直在不斷改進,所以我想寫一個關於它具體用法的簡短教程。
  • 未來,不是【Python vs R】,而是【Python and R】
    用Wickham的話講,未來,不是「Python vs R」,而是「Python and R」。例如,2018年,McKinney的Ursa Labs宣布——即將與Wickham 的RStudio合作,致力於改進R和Python語言本身及其用戶體驗。
  • 數據科學探索(python 與 R 的比較)
    >1.4  建立預測模型1.4.1  python1.4.2  R1.5  Logistic1.5.1  python1.5.2  R1.6  決策樹1.6.1  python1.6.2  R1.7  隨機森林1.7.1  python1.7.2
  • rPython:在R語言中調用python命令
    通過發揮rPython的作用,可以很好的將Python與R語言結合在一起,兩者相輔相成,使數據分析工作更加得心應手。目錄      rPython簡介      rPython安裝介紹      rPython使用介紹rPython簡介rPython包用於在R語言環境中調用Python命令。
  • 如何讓R與Python一起工作 | 案例講解
    R實例是指rpy2.robjects.R,它是在Python中的嵌入式R進程,把R當作從python走向R的通道來看就可以了。通過R實例,我們可以讀取R的內置變量、調用R的函數、甚至,直接把它當作R的解析器來用。
  • 教你怎樣用python進行語音識別
    當然,你可以租用一個國外的VPS來做這件事情。這裡講一下如何在不聯網的情況下,依然可以通過python來將語音文件轉換成文字。這裡用到的包為sphinx,sphinx是由美國卡內基梅隆大學開發的大詞彙量、非特定人、連續英語語音識別系統。
  • 特徵工程總結:R與python的比較實現
    4.3.2 Wrapper法(封裝法)   4.3.3 Embedded(集成法)  4.4降維      4.4.1PCA          4.4.2LDA1.特徵工程概述    特徵工程其實是一個偏工程的術語,在資料庫領域可能叫做屬性選擇,而在統計學領域叫變量選擇,其實是一個意思:即最大限度地從原始數據中提取有用信息以供算法和模型使用
  • 從0開始學python-6.2 用python讀寫文件
    我們還學習了用python來查找、重命名一個文件。這節課,我們一起學習一下怎麼用python操作一個文件的內容。文件操作對一個文件,我們可以1)讀取裡面的內容、2)往文件裡寫內容、3)追加文件內容。我們來看看用python怎麼做這些事情。打開文件在對文件內容操作之前,我們首先要打開文件。
  • Python中open()的使用方法,你造嗎?
    with open('foo.txt', 'w+') as f:     f.write('bar\n')     f.seek(0)      data = f.read()可以看到,上面這段代碼,它不但可以寫,還可以讀出來。注意要先定位到開頭,f.seek(0),不然讀出來的是空數據。
  • 「Python+cv2」Python安裝opencv及圖像的基本操作
    檢查python環境上面可以看出python版本是3.7。調用exit()函數可以退出python。如果對Python安裝有疑問的可以參考我的文章:手把手教你搭建Python3開發環境手把手教你安裝python編輯器pycharm2、檢查pip3是否安裝
  • 【Python基礎】python使用python-docx操作word
    1、python-docx庫介紹該模塊兒可以創建、修改Word(.docx)文件;python-docx使用官網:python-docx官網我們在安裝此模塊兒使用的是pip install python-docx,但是在導入的時候是import docx;2、Python讀取Word文檔內容注意:每進行一個操作,必須保存一下,否則等於白做;1)word文檔結構介紹在這裡插入圖片描述2)python-docx
  • Python __slots__ 詳解
    在當時來說,這相當於用一個非常簡單的方式就降低了30%的內存使用,著實驚人。2個類:❯ python mem_test.py aClass: A:Initial RAM usage:      4,890,624  Final RAM usage:    200,454,144❯ python mem_test.py bClass: B:Initial RAM usage
  • Python創建可以打開文件的EXE
    其中第一種其實和在cmd_try文件夾下的命令行窗口中輸入python hello.py效果相同,所以我們可以用這個來測試,測試結束後再生成exe文件帶有參數的exe程序因為我們的exe程序需要能夠打開一個文件,所以需要調用外部參數。
  • 手把手帶你,用 Python 寫一個 Monkey 自動化測試腳本!!!
    之前講解了 Android Monkey 命令的使用方式,今天趁著還熱乎就手把手用 Monkey 寫一個壓力測試的腳本。還不了解什麼是 Monkey 的,可以看看之前的文章,《關於 Monkey ,你所需要知道的,都在這裡!!!》。
  • 使用 R 與 python 進行 t 檢驗
    也就是說只要是正態分布或近似正態分布,就可以使用 t 檢驗。t檢驗是用 t 分布理論來推論差異發生的概率,他的檢驗有三種類型:例如,假設我們調查了一組男學生的身高,看看他們的平均值是否等於 170 cm。例如,我要檢查某有機肥是否有促進小麥品質的作用,我選了一組小麥施用該肥料,另一組施用常規化肥,最後我檢查某指標之間,二者是否有差異。
  • 手把手教你在手機或平板上配置Python環境!
    主題美化2.1 配色與字體長按屏幕,點擊More,選擇Style可以選擇配色和字體,推薦使用Neon配色和JetBrains Mono字體,也可以通過修改~/.termux/目錄下的colors.properties和font.ttf文件進行自定義。
  • 小派拾貝|7.用小程序實驗理解一下什麼是Python的風格
    或者是,基於最基礎的算法描述就可以了嗎?這些事,一線老師的咱們,也不太容易明白,但是編程的時候還真是遇見這些問題的。今天的學習就遇上了,分享給大家,就當技術小實驗,學不學、教不教不在本文討論之列的!    各位,咱們最近學Python,這東東真是迷一樣的存在!    各種神語法妙算法,我學得可帶勁了。
  • 手把手教你用Python進行時間序列分解和預測
    你可以在此處(https://otexts.com/fpp2/classical-decomposition.html)了解有關加法和乘法分解的更多信息。在下面的代碼中,要獲得時間序列的分解,只需賦值model=additive。
  • 利用Anaconda在Windows及Linux下搭建Python環境【手把手版】
    利用Anaconda在Windows及Linux下搭建Python環境【手把手版】❞本文目錄一、同系列好文二、Anaconda在Windows下搭建Python環境    1、下載    2、安裝    3、添加python到環境變量    4