MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Lengkapi definisi fungsi seq_cpp() yang menerima dua bilangan bulat lo dan hi dan mengembalikan IntegerVector berisi angka-angka di antaranya.
    • Tetapkan tipe nilai kembalian menjadi IntegerVector.
    • Buat vektor bilangan bulat baru, sequence, dengan ukuran n.
    • Di dalam loop for, setel elemen ke-i dari sequence menjadi lo ditambah i.
    • Kembalikan sequence.

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))
*/
Edit dan Jalankan Kode