Urutan bilangan bulat
Fungsi yang Anda tulis pada latihan sebelumnya melakukan perhitungan lalu mengembalikan sebuah angka. Anda juga dapat menulis fungsi yang mengembalikan sebuah vektor.
Sintaks untuk membuat tipe vektor adalah menyebutkan tipe vektornya diikuti nama variabel, lalu jumlah elemen dalam vektor tersebut di dalam tanda kurung. Sebagai contoh, untuk membuat vektor numerik bernama numbers yang berisi 10 elemen, kodenya sebagai berikut.
NumericVector numbers(10);
Latihan ini adalah bagian dari kursus
Mengoptimalkan Kode R dengan Rcpp
Petunjuk latihan
- Lengkapi definisi fungsi
seq_cpp()yang menerima dua bilangan bulatlodanhidan mengembalikanIntegerVectorberisi angka-angka di antaranya.- Tetapkan tipe nilai kembalian menjadi
IntegerVector. - Buat vektor bilangan bulat baru,
sequence, dengan ukurann. - Di dalam loop
for, setel elemen ke-i darisequencemenjadiloditambahi. - Kembalikan
sequence.
- Tetapkan tipe nilai kembalian menjadi
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
#include
using namespace Rcpp;
// Set the return type to IntegerVector
// [[Rcpp::export]]
___ seq_cpp(int lo, int hi) {
int n = hi - lo + 1;
// Create a new integer vector, sequence, of size n
___;
for(int i = 0; i < n; i++) {
// Set the ith element of sequence to lo plus i
___;
}
return ___;
}
/*** R
lo <- -2
hi <- 5
seq_cpp(lo, hi)
# Does it give the same answer as R's seq() function?
all.equal(seq_cpp(lo, hi), seq(lo, hi))
*/