Mã R trong tệp C++
Khi bạn biên dịch tệp C++ bằng sourceCpp() (hoặc nút "Source" trong RStudio), Rcpp sẽ biên dịch mã và xuất các hàm
để dùng như các hàm R.
sourceCpp() cũng coi các chú thích nằm giữa /*** R và */ là mã R sẽ được thực thi sau khi biên dịch xong.
/*** R
# Chạy mã R đã export tại đây
*/
Điều này đặc biệt hữu ích khi bạn đang phát triển vì bạn có thể nhanh chóng kiểm thử tác động của các thay đổi trong mã.
Bạn sẽ dùng các chú thích đặc biệt này trong suốt phần còn lại của khóa học.
Bài tập này là một phần của khóa học
Tối ưu hóa mã R với Rcpp
Hướng dẫn bài tập
- Bắt đầu một khối chú thích Rcpp R với
/*** R. - Gọi hàm
distđể tính khoảng cách từ gốc tọa độ đến điểm(3,4). - Kết thúc khối chú thích Rcpp R bằng
*/.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
#include
using namespace Rcpp;
double square(double x) {
return x * x ;
}
// [[Rcpp::export]]
double dist(double x, double y) {
return sqrt(square(x) + square(y));
}
// Start the Rcpp R comment block
___
# Call dist() to the point (3, 4)
___
# Close the Rcpp R comment block
___