Rcpp 是一個可以讓 R 透過 C++ 語言提升執行效能的套件,其使用方式簡單、上手容易,且對於耗時的運算相當有幫助,是一個很實用的套件。
由於 R 屬於高階語言,相較於 C/C++ 這類的低階語言,R 程式的執行速度比較慢,對於較為耗時的運算(例如蒙地卡羅類型的模擬)來說,若只使用單純的 R 語言來處理,時常會遇到計算時間過長的問題。
傳統上運算速度的問題可以使用 R 本身所提供的 C 或 Fortran 語言介面,將程式中耗時的部分以 C 或 Fortran 改寫,然而 R 本身的低階語言介面相當複雜,對於一般人而言不容易使用,通常只有 R 的套件開發者有能力使用這樣的功能。
Rcpp 是後來發展出來的一個套件,它在 R 中提供了一個非常簡單又好用的 C++ 語言介面,讓一般的使用者可以很輕鬆的結合 R 與 C++ 程式,降低程式開發的技術門檻,大幅提高 R 程式的執行速度,近年來 Rcpp 已經成為 R 高效能運算領域非常重要的套件之一。
C++ 語言雖然執行效率比 R 語言更好,不過並不是每一種問題都適合使用 C++ 來處理,以下是幾種非常適合使用 C++ 來處理的典型問題類型:
由於 Rcpp 套件在使用時會需要編譯 C++ 的程式碼,所以除了安裝 R 的 Rcpp
套件之外,還要再安裝系統上的 C++ 編譯器才能正常使用。
由於在 Windows 系統上通常並不會有安裝 C++ 編譯器,若要使用 Rcpp 套件,必須先安裝 Rtools 這個官方的工具集,而若是在 Linux 系統上的話,請安裝一般的 gcc/g++ 編譯器。
Rtools 工具集裡面包含了編譯 R 套件所需要的各種工具,而我們需要的就是其中的 gcc/g++ 編譯器。
Step 1
請從官方的 CRAN 網站上下載 Rtools 安裝檔。
Step 2
下載時請選擇適合自己 R 版本的 Rtools 安裝檔。
Step 3
下載下來之後,直接執行,進行安裝。首先選擇安裝用語言,選擇 English 即可,按下「OK」。
Step 4
這是 Rtools 工具集的說明資訊,其中最主要的就是 Cygwin 的仿 Linux 環境,請點選「Next」繼續。
Step 5
選擇安裝路徑,點選「Next」繼續。
Step 6
選擇安裝組件,使用預設值即可,點選「Next」繼續。
Step 7
其他設定,使用預設值即可,點選「Next」繼續。
Step 8
檢查安裝設定,確認無誤後,點選「Install」進行安裝。
Step 9
等待安裝過程。
Step 10
安裝完成,點選「Finish」結束。
R 官方的套件庫就有收錄 Rcpp
套件,直接以 install.packages
安裝即可:
install.packages("Rcpp")
安裝完成後,即可載入使用:
library(Rcpp)