Anaconda安裝R:R_Python整合

圖片13Anaconda(巨蟒)是以PythonC語言寫成的安裝管理程式,對於Python的使用者而言,除了跨作業平台、免費、開源以外,還可透過它安裝啟用眾多的程式包(Packages),且還連帶可一併安裝使用SpyderJupyter兩個編輯兼瀏覽器,可說是一舉數得。近年大數據研究與分析火熱,大家熟悉的R,也可以安裝在Anaconda當中,讓R與Python能夠充分整合,更減少程式作業切換的麻煩。

關於Anaconda的安裝,並不需要特別說明,僅需連上Anaconda的安裝頁面,選擇安裝的版本,再依照電腦的指示即可順利安裝完成。圖片12


安裝完成後,請至程式集檢視,開啟Anaconda Prompt那個黑黑的命令行(command line)。

圖片14


等到白色游標出現在顯示安裝Anaconda的資料層位置後方閃爍時,鍵入以下指令:

conda install r-essential

或是:

conda  install -c r r-essentials

圖片2

接著會告訴你有哪些程式包即將安裝,當proceed<[y]/n>出現後,請鍵入y。

圖片3


此時,若毫無障礙的安裝完成,真的可喜可賀!您的系統並未出現衝突或其他問題;但我卻出現UTF-8無法正常解碼,導致安裝不完全的問題:

ERROR conda.core.link:_execute_actions(337): An error occurred while installing package ‘defaults::m2w64-ca-certificates-20150426-103’.

圖片4


安裝不完全,就無法在Anaconda上開啟R。此時請回到程式集,開啟Jupyter Notebook:

圖片5


開啟Jupyter Notebook後,您會看見左側有資料夾,請點進Anaconda3資料夾,按照:

Anaconda3\Lib\site-packages\conda\common\compat.py的位置,找到compat.py這個檔案並開啟它,請至第152行開始往下,修改其中兩個地方的內容:

1、第一個更改處:請將

value.decode('utf-8')

更改為:

value.decode('utf-8','ignore')

2、第二個更改處,請將

return value.decode('utf-8')

更改為:

return value.decode('utf-8, 'ignore')

兩處都更改完成後,請存檔後退出。

圖片6


接著請再回到Anaconda Prompt命令列,同上述安裝程序再次輸入:

conda install r-essential

或是:

conda  install -c r r-essentials

等待過程中,真的要有耐心,安裝程序像是當掉一般,只剩下白色游標閃呀閃的,我都抽完好幾根菸了,仍不見下一個指令出現!?約莫15分鐘後,總算回到資料夾第一層,這表示安裝成功!

圖片9


此時,R與程式包已經安裝在Anaconda當中成為它的一部分了。接著請開啟Jupyter Notebook,以滑鼠點選右上角的NEW選單,您將看見R已經在選單內。我以R語言在Jupyter上試驗一下效果,鍵入一組函數繪圖語法(引自李仁鐘,2015):

x<-c(1,3,5,7,8,9,3,6,7,2) 
y<-c(5,3,5,8,2,1,4,3,4,7) 
plot(x,y) 
sel<-identify(x,y)

可獲得結果如下:

圖片11

至於Anaconda、Jupyter Notebook的相關實務運用,容後再為各位介紹。

參考資料:

Using R Language with Anaconda

R Language Packages for Anaconda

Error occurred when installing r-essentials

Anaconda上安裝R,讓Python與R共存

李仁鐘(2015)。《應用R語言於資料分析:從機器學習、資料探勘到巨量資料》。台北市:松崗出版社

廣告

對「Anaconda安裝R:R_Python整合」的想法

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s