Chapter 4 Rcpp 실행
다음은 R에서 C++ 코드를 실행하는 함수이며, Rcpp 패키지 내의 함수이다.
4.1 sourceCpp()
R 코드로 이루어진 파일(파일명.R
)의 경우, source(파일명)
함수를 이용하여 R 소스코드를 실행할 수 있다.
이와 유사하게 R에서 C++ 소스코드(파일명.cpp
)를 실행하는 함수는 sourceCpp(파일명)
이다.
다음의 소스코드로 이루어진 test.cpp
이라는 파일이 있다고 하자. (앞에서 다루었던 예시코드이다.)
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector timesTwo(NumericVector x) {
return x * 2;
}
C++에서는 함수 또는 클래스를 정의하기 때문에, sourceCpp()
로 소스코드를 불러오게 되면, Global Environment에 timesTwo()
라는 함수가 생성된 것을 확인할 수 있다.
따라서 C++ 코드로 짜여진 함수를 다음과 같이 R에서 사용할 수 있는 것이다.
실행결과는 다음과 같다.
[1] 1 4 9 16 25