中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

同一個項目中讓R和Python無縫工作的方法

發布時間:2021-07-12 10:34:38 來源:億速云 閱讀:103 作者:chen 欄目:編程語言

本篇內容主要講解“同一個項目中讓R和Python無縫工作的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“同一個項目中讓R和Python無縫工作的方法”吧!

Python在某些方面做得最好,R在某些方面做得最好,因此,如果我們在需要的時候可以同時使用這兩種方法,那么我們就可以發揮出最好的性能。 在最近的示例中,我想創建一個Shiny應用程序來生成參數化的Powerpoint文檔,這個應用我是用R的tidyverse對我的數據進行編碼處理,使用Python編寫了Powerpoint編輯代碼,因為這在python-pptx包中很容易。

現在,在RStudio IDE中使用兩種語言進行操作確實非常容易。 為此,您需要在R中安裝和加載網狀軟件包。您可以執行以下五項操作,以使您在同一項目中獲得兩種語言的無縫編碼體驗:

在項目啟動時定義Python環境

為避免與使用錯誤的Python解釋器相關問題,首先需要在項目啟動時通過創建.Rprofile文件并將其保存在項目目錄中來定義Python環境。 您的.Rprofile包含將在您的項目啟動時執行的代碼。 我通常在.Rprofile中有這兩行代碼:

Sys.setenv(RETICULATE_PYTHON = "<path>")  print(paste("Python environment forced to", Sys.getenv("RETICULATE_PYTHON")))

其中,是您要使用的Python環境中Python可執行文件的路徑。 第一個命令將其設置為您的python可執行文件。 第二個命令將打印此確認,該確認將在您每次啟動項目時顯示在您的終端中。 這是我啟動一個項目時終端的外觀:

同一個項目中讓R和Python無縫工作的方法

使用repl_python()在Python中實時編碼

在項目中如果需要測試Python和R可以使用 Reticulate軟件包中的repl_python()函數將R終端切換到Python終端,以便您可以在Python中進行實時編碼。 您可以使用exit命令退出它,然后在R中編寫更多代碼,然后再回到Python終端,它仍然會記住上一個會話中的所有對象,這意味著它很容易在各種語言之間無縫地移動。 這是一個簡單的示例:

同一個項目中讓R和Python無縫工作的方法

在Python和R之間交換對象

可以在Python和R之間交換任何相當標準的數據對象,例如值,列表和dataframes 。要在Python中使用名為myrobject的R對象,可以使用r.myrobject進行調用。 要在R中使用名為mypythonobject的Python對象,可以使用py $ mypythonobject進行調用。 這是另一個實際的操作示例,其中我將R中的themtcars數據集引入了Python:

同一個項目中讓R和Python無縫工作的方法

數據對象將根據不同的語言轉換為它們的等效結構。 例如,R中的列表將被翻譯成Python中的字典:

同一個項目中讓R和Python無縫工作的方法

將Python函數轉換為R函數

當同時使用這兩種語言時,你最終會需要將Python代碼作為一個R的函數來執行.如果將編寫的Python函數寫到一個文件中,然后R中調用source_python(),那么這個文件可以以源代碼文件的形式使用。下面是一個簡單的例子,我寫了一個Python函數將兩個數字相加,并將其保存在文件sumof.py中:

def sumof(a, b):  return a+b

現在,我可以獲取sumof.py并將其變成和R函數:

同一個項目中讓R和Python無縫工作的方法

創建包含R和Python代碼的MD文檔

正確設置.Rprofile后,您可以創建具有兩種語言代碼塊的文檔,并且可以在代碼塊之間交換對象。 以下是一些簡單的R Markdown代碼,用以說明這一點:

同一個項目中讓R和Python無縫工作的方法

這會產生以下輸出:

同一個項目中讓R和Python無縫工作的方法

同樣,你可以用一種語言編寫函數,在另一種語言中輕松使用它們:

同一個項目中讓R和Python無縫工作的方法

對我來說,這個功能讓我的工作中有了更多的可能。我希望這些技巧能夠幫助您開始探索Python和R所提供的最佳功能。

到此,相信大家對“同一個項目中讓R和Python無縫工作的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大冶市| 历史| 扶风县| 拉孜县| 南涧| 新津县| 中江县| 开原市| 云和县| 竹北市| 古田县| 离岛区| 瑞昌市| 阳东县| 建德市| 凤凰县| 中宁县| 东台市| 札达县| 富锦市| 永定县| 鹰潭市| 巧家县| 汶川县| 定结县| 沅陵县| 镇平县| 澄江县| 兴安县| 射阳县| 新河县| 沧源| 日土县| 乐业县| 巴林左旗| 濉溪县| 汉阴县| 新化县| 探索| 奉化市| 思茅市|