什麼!可以使用 Visual Studio 來開發 R 語言程式碼!?這真的是令人振奮啊!快來一起瞧瞧吧~
之前我們若欲開發 R 語言[1]程式碼可以透過 RStudio[2] 的 IDE 來進行開發,而在短片中臺灣微軟的 Jade Chang 講師為我們快速地介紹如何透過 Visual Studio + R Tools for Visual Studio 也可以來進行 R 語言的程式碼開發。
首先,必須先依序安裝下列三項軟體:
- 安裝軟體 Visual Studio 2015[3] Update 1(含)以上的版本;
- Visual Studio 2015 Community(免費);
- Visual Studio 2015 Professional;
- Visual Studio 2015 Enterprise。
- 安裝軟體 R Tools for Visual Studio[4];
- 安裝軟體 Microsoft R Open[5]。
安裝完成後即可以在 Visual Studio 新增專案中看到 R Project 的專案範本,在開啟 R 專案後可以看到與 RStudio 類似的視窗,不論是腳本編輯視窗(Editor)、輸出互動視窗(R Interactive)、變數總管視窗(Variable Explorer)以及圖表視覺化視窗(Plots)……等等。
在撰寫 R 語言程式碼一樣可以享有 Intellisense 即時協助指引帶來的絕佳體驗;互動視窗中可以直接撰寫並執行程式碼或是在編輯視窗按下 [CTRL] + [ENTER] 執行程式碼來取得輸出結果;也可將資料轉換為視覺化的圖表進行檢視與 PDF、圖片檔案的輸出;變數總管裡顯示執行環境中所有的物件並支援任意深度的資料下鑽;我們也可重歷史紀錄視窗中快速呼叫執行過的程式碼;或透過指令查詢更多的說明文件於說明視窗中;當然也可以支援 Visual Studio 強大的偵錯功能;最後增強的直譯器支援多執行緒的數學函式庫及叢集運算。
另一個功能是 R Markdown 它可以撰寫與執行 R 語言程式碼,並將結果輸出成 HTML 或 Word 文件,在完成下列程式與套件之後即可在專案中新增 R Markdown 的檔案(*.rmd),只要在 R Markdown 檔案的編輯視窗中按下滑鼠右鍵選擇 Preview,就可以將 R Markdown 檔案的內容及執行結果輸出為 HTML 或 Word 文件。
- 安裝軟體 Pandoc[6];
- 於互動視窗安裝套件 > install.packages("knitr")[7];
- 於互動視窗安裝套件 > install.packages("rmarkdown")[8]。
R Tools for Visual Studio 也支援使用 Git 來進行版本控管,並搭配 AzureML[9] 即可以增加與 Azure Machine Learning 的整合能力。雖然目前還在預覽階段的 R Tools for Visual Studio 相信未來還會繼續提供更多更強大的功能,想要瞭解更多 R Tools for Visual Studio 可參閱 R Tools for Visual Studio Documentation[10] 取得更詳細的資訊。
完整的影片與投影片可以在:「七分鐘概覽 R Tools for Visual Studio | 進擊的【開發工具】:打造登峰造極的 Code | Channel 9」進行觀看與下載,或是直接觀看下列的影片進行更深入的瞭解,或者至「進擊的【開發工具】:打造登峰造極的 Code | Channel 9」觀看更多的系列影片,非常感謝!
參考資料:
- R語言 - 維基百科,自由的百科全書
- RStudio - Open source and enterprise-ready professional software for R
- 下載 | Visual Studio
- R Tools for Visual Studio
- Download Microsoft R Open, the enhanced R distribution · MRAN
- Pandoc - Installing
- CRAN - Package knitr
- CRAN - Package rmarkdown
- CRAN - Package AzureML
- R Tools for Visual Studio Documentation
- 在 Visual Studio 中使用 R 語言進行進階資料分析 - 使用 R Tools for Visual Studio | MSDN 台灣部落格
本著作由Zhi-Wei製作,以創用CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款釋出。