rep() di R: Decoding Fungsi Replikasi

Diterbitkan: 2020-06-15

Sebelum kita berbicara tentang rep di R , kita harus tahu apa itu iterasi. Istilah iterasi berarti pengulangan. Seperti pada kebanyakan bahasa pemrograman lainnya, perulangan atau iterasi tradisional adalah aspek inti dari R.

Sementara loop reguler adalah pendekatan yang efisien untuk manajemen data, mereka mahal karena satu-satunya alasan bahwa iterasi adalah memori dan memakan waktu. Alternatif yang baik adalah penggunaan metode vektor yang dapat mencapai tujuan yang sama seperti iterasi; fungsi rep() adalah anggota dari salah satu fungsi perulangan vektor tersebut.

Daftar isi

Apa fungsi rep()?

Dalam istilah sederhana, rep dalam R , atau fungsi rep() mereplikasi nilai numerik, atau teks, atau nilai vektor untuk beberapa kali tertentu. Fungsi rep() adalah anggota dari keluarga apply() dari fungsi paket dasar R. Keluarga apply() berisi fungsi yang digunakan untuk memanipulasi data dari array, matriks, bingkai data, dan daftar secara berulang.

Fungsi apply() menghindari penggunaan konstruksi loop untuk bertindak pada array, matriks, atau daftar input dan menerapkan fungsi bernama dengan argumen opsional. Fungsi yang dipanggil dapat berupa fungsi agregasi, fungsi transformasi, atau fungsi vektor seperti array, vektor, daftar, dan matriks. Lihat kursus ilmu data kami untuk mempelajari lebih lanjut tentang fungsi.

Baca lebih lanjut: Bingkai Data dengan Python: Tutorial Mendalam Python

Perhitungan vektor versus iterasi

Alih-alih beroperasi pada elemen individu dari suatu urutan, metode vektor bekerja pada semua komponen vektor secara bersamaan. Dengan demikian, perhitungan vektor selalu mengambil hasil yang lebih cepat.

Untuk mengilustrasikan kecepatan perhitungan vektor, kita akan menggunakan contoh yang menentukan waktu yang berlalu dari loop for() untuk pembangkitan vektor besar. Dalam contoh, setiap elemen dihitung secara berurutan sebagai jumlah kumulatif tambahan dari 1 hingga N (di mana N = 10.000.000). Perbandingan dibuat antara iterasi loop for() dan fungsi vektor melalui tes kecepatan.

Sumber

Saat membandingkan hasil tes kecepatan, jelas bahwa waktu yang berlalu untuk perhitungan vektor (tes kecepatan 2) secara signifikan lebih cepat daripada loop for(). Dalam waktu yang dibutuhkan untuk satu lintasan loop iteratif, perhitungan vektor dapat diulang 278 kali.

Ulangi versus fungsi Replikasi

Fungsi Repeat atau loop di R digunakan ketika kita ingin mengeksekusi blok kode yang sama berulang kali hingga kondisi tertentu terpenuhi. Ini sangat mirip dengan for dan while loop yang berulang kali mengeksekusi blok perintah hingga break. Sintaks dasar untuk membuat loop berulang adalah:

mengulang {

jika (kondisi) {

merusak

}

}

Contoh berikut akan memperjelas penggunaan fungsi Repeat:

Pada contoh di atas, pengulangan loop menjumlahkan nilai hingga mencapai 6. Setelah loop mencapai 6, loop putus dengan mencetak "pengulangan loop berakhir".

Di sisi lain, fungsi ulangan atau rep di R, digunakan untuk mereplikasi nilai. Sintaks R dasar untuk menggunakan fungsi rep() adalah:

  1. rep(nilai,jumlah_kali)
  2. rep(urutan,masing-masing,number_of_times)

Berikut adalah beberapa contoh untuk memahami fungsi rep():

Contoh: Menggunakan fungsi rep() untuk mereplikasi nilai untuk beberapa kali tertentu

Dalam contoh di atas, nilai 2 bereplikasi sepuluh kali.

Contoh: Menggunakan fungsi rep() dengan atribut length

Pada contoh di atas, 1 hingga 4 dicetak secara berurutan hingga jumlah elemen mencapai 20.

Contoh: Menggunakan fungsi rep() untuk mereplikasi daftar

Dalam contoh di atas, daftar peringkat 1 sampai 5 telah direplikasi tiga kali.

Sumber

Menggunakan fungsi rep() untuk memperluas vektor

Fungsi rep() adalah cara fleksibel untuk mengulang vektor. Berikut adalah beberapa contoh lagi:

Jika kita perlu memperluas vektor statistik unit eksperimental/pengamatan menjadi vektor kerangka data dengan pengamatan berulang terhadap unit, setiap argumen sangat berguna. Contoh:

Fitur lain dari rep() adalah bahwa vektor dapat diperluas ke panel yang tidak seimbang dengan mengganti argumen panjang dengan vektor yang menentukan berapa kali setiap elemen dalam vektor akan berulang. Contoh:

Versi fungsi rep yang lebih sederhana dan lebih cepat termasuk rep_len() dan rep.int(). Versi yang lebih baru ini datang tanpa beberapa atribut rep() tetapi terbukti berguna dalam kasus di mana kecepatan adalah primal dan aspek tambahan dari vektor berulang tidak diinginkan.

Sumber

Baca: 6 Ide Proyek R Menarik Untuk Pemula

Kesimpulan

Pada artikel ini, kita membahas fungsi Repeat and Replicate dengan contoh yang sesuai. Sementara iterasi tradisional berguna untuk eksekusi berulang blok kode, rep di R sangat ideal untuk mereplikasi nilai vektor atau daftar. Efisien dan hemat waktu, fungsi rep() telah menyederhanakan replikasi vektor!

Jika Anda penasaran untuk belajar tentang R, ilmu data, lihat Program PG Eksekutif IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri , 1-on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Bagaimana saya bisa membuat vektor dengan nilai berulang di R?

Fungsi rep() di R dapat digunakan untuk mengulang serangkaian bilangan bulat. Di R, ada dua teknik untuk membuat vektor dengan nilai berulang; metode pertama mengulangi setiap elemen dalam vektor, sedangkan metode kedua mengulangi elemen dengan jumlah tertentu. Vektor dibuat menggunakan fungsi rep di masing-masing pendekatan ini. Misalnya, rep(1:5, kali=5) memberikan vektor dengan urutan 1 sampai 5 diulang 5 kali.

Fungsi mana yang lebih cepat- Replika atau For Loop?

Dalam bahasa pemrograman R, fungsi loop For lebih cepat daripada fungsi ulangan. For-loop adalah teknik untuk mengulang daftar nilai dalam berbagai bahasa pemrograman dengan menjalankan kode untuk setiap nilai dalam daftar. rep() adalah fungsi perulangan vektor yang tujuan utamanya adalah untuk berjalan tanpa membuang memori. Saat Anda perlu mengubah sebagian dari bingkai data yang ada, For Loop biasanya merupakan pilihan terbaik.

Bagaimana saya bisa mempercepat kode R?

Beberapa metode untuk mempercepat kode R tercantum di bawah ini: -

1. Sebelum memasukkan struktur data dan variabel keluaran ke dalam lingkaran untuk penghitungan, pastikan panjang dan tipe datanya tepat. Di dalam loop, cobalah untuk tidak memperluas jumlah data secara progresif.
2. Jika memungkinkan, gunakan matriks daripada bingkai data, karena bingkai data dapat menimbulkan masalah dalam banyak situasi. Akibatnya, hanya gunakan bingkai data jika benar-benar penting.
3. Bila memungkinkan, gunakan operasi vektor dan matriks.
4. Di R, jangan ubah jenis atau ukuran objek. Mengubah jenis dan ukuran objek R menyebabkannya mengalokasikan kembali ruang memori, yang secara default tidak memadai.