0Pricing
R Academy · Pelajaran

rep() untuk Nilai Berulang

Ulangi nilai dan vektor dengan argumen rep(), times, dan each.

rep() untuk Nilai Berulang adalah pelajaran R Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar R Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus R Academy mencakup 4 pelajaran total.

Pengantar rep()

rep() adalah singkatan dari mengulang. Fungsi ini mengulang nilai atau vektor sebanyak jumlah yang ditentukan. Fungsi ini merupakan salah satu alat yang paling berguna untuk membuat data pengujian terstruktur, kumpulan data seimbang, dan mengisi vektor dengan nilai bawaan.

# Repeat a single value
zeros <- rep(0, times = 5)
cat('Five zeros:', zeros, '
')

# Repeat a string
status <- rep('active', times = 4)
cat('Status:', status, '
')

rep(x, times) — Mengulang Seluruh Vektor

Jika x adalah vektor dan times adalah satu bilangan bulat, rep() mengulang seluruh vektor sebanyak jumlah tersebut. Panjang keluaran adalah length(x) * times.

# Repeat a vector 3 times
weekend <- c('Saturday', 'Sunday')
four_weekends <- rep(weekend, times = 4)
cat('4 weekends:', four_weekends, '
')

# Repeat numeric vector
pattern <- c(1, 2, 3)
cat('Pattern x3:', rep(pattern, times = 3), '
')

rep(x, each) — Mengulang Setiap Elemen

Argumen each mengulang setiap elemen secara terpisah sebelum beralih ke elemen berikutnya. Inilah perbedaan utama dari times: each mengulang elemen di posisinya masing-masing.

groups <- c('A', 'B', 'C')

# times: repeats whole vector
cat('times=3:', rep(groups, times = 3), '
')
# A B C A B C A B C

# each: repeats each element before next
cat('each=3 :', rep(groups, each = 3), '
')
# A A A B B B C C C

rep(x, times = c(...)) — Pengulangan Bervariasi

Jika times adalah sebuah vektor dengan panjang yang sama seperti x, setiap elemen x diulang sebanyak jumlah yang sesuai. Dengan demikian, Anda dapat mengatur pengulangan secara lebih terperinci.

# Different number of repeats per element
fruits <- c('apple', 'banana', 'cherry')
counts <- c(3, 1, 2)

fruit_basket <- rep(fruits, times = counts)
cat('Fruit basket:', fruit_basket, '
')
# apple apple apple banana cherry cherry

# Useful for creating category labels
cat('Length:', length(fruit_basket), '
')

rep_len() — Mengulang hingga Panjang Tetap

rep_len(x, length.out) mengulang vektor x hingga hasilnya memiliki tepat length.out elemen. Pengulangannya bersifat siklik—vektor akan dimulai lagi dari awal jika diperlukan.

# Cycle through seasons to fill 12 months
seasons <- c('Spring', 'Summer', 'Autumn', 'Winter')
year_seasons <- rep_len(seasons, length.out = 12)
cat('12 months by season:', year_seasons, '
')

# Cycle through 1, 2, 3 for 10 items
rotation <- rep_len(1:3, length.out = 10)
cat('Rotation:', rotation, '
')

Menggabungkan times dan each

Anda dapat menggunakan times dan each secara bersamaan untuk membuat pola pengulangan yang lebih kompleks. R menerapkan each terlebih dahulu (memperluas setiap elemen), kemudian mengulang vektor yang dihasilkan sebanyak times kali.

# each=2 then times=3
vals <- c(1, 2)
result <- rep(vals, each = 2, times = 3)
cat('each=2, times=3:', result, '
')
# 1 1 2 2  repeated 3 times: 1 1 2 2 1 1 2 2 1 1 2 2

cat('Length:', length(result), '
')

Membuat Label Kelompok Seimbang

Salah satu penggunaan klasik rep() adalah membuat label kelompok yang seimbang untuk eksperimen—saat Anda menginginkan jumlah pengamatan yang sama di setiap kelompok.

# 5 subjects per treatment group
treatments <- c('Control', 'LowDose', 'HighDose')
n_per_group <- 5

group_labels <- rep(treatments, each = n_per_group)
cat('Group labels:', group_labels, '
')
cat('Total subjects:', length(group_labels), '
')

# Count per group
for (g in treatments) {
  cat(g, ':', sum(group_labels == g), '
')
}

Mengulang Nilai Logika

rep() dapat digunakan dengan jenis data apa pun, termasuk nilai logika. Ini berguna untuk membuat masker, penanda, atau pola TRUE/FALSE yang berselang-seling.

# Alternating TRUE/FALSE pattern
alternate <- rep(c(TRUE, FALSE), times = 5)
cat('Alternating mask:', alternate, '
')

# Apply mask to select every other element
data_vals <- 10:19
cat('Every other value:', data_vals[alternate], '
')

# Create a block pattern: 3 TRUE then 3 FALSE
block <- rep(c(TRUE, FALSE), each = 3)
cat('Block pattern:', block, '
')

rep() untuk Mengisi Matriks

Anda dapat menggunakan rep() untuk mengisi matriks dengan data berpola secara cepat. Karena matrix() menerima vektor sebagai masukan, menggabungkannya dengan rep() akan memudahkan pembuatan matriks berpola.

# Fill a 3x4 matrix with a repeating pattern
pattern <- rep(c(1, 0), times = 6)
checker <- matrix(pattern, nrow = 3, ncol = 4)
cat('Checkerboard-like matrix:
')
print(checker)

# Fill diagonal-like with rep
fill <- rep(1:4, each = 3)
cat('Repeated fill:', fill, '
')

Memperluas Tabel Ringkasan

Salah satu penggunaan praktis rep() dengan times yang bervariasi adalah mengubah tabel frekuensi kembali menjadi vektor data mentah. Jika Anda mengetahui berapa kali setiap nilai muncul, rep() dapat merekonstruksi pengamatan tersebut.

# Summary: grade frequencies
grades <- c('A', 'B', 'C', 'D')
frequencies <- c(5, 12, 8, 3)

# Reconstruct raw grade vector
raw_grades <- rep(grades, times = frequencies)
cat('Raw grades (', length(raw_grades), 'students):', raw_grades, '
')

# Verify frequency table
cat('Freq table:
')
print(table(raw_grades))

Ringkasan rep()

Berikut referensi singkat untuk rep():

  • rep(x, times = n) — mengulang seluruh x sebanyak n kali
  • rep(x, each = n) — mengulang setiap elemen sebanyak n kali
  • rep(x, times = c(...)) — pengulangan yang bervariasi untuk setiap elemen
  • rep_len(x, n) — mengulang x secara siklik hingga mencapai tepat n elemen
  • Dapat digunakan dengan jenis apa pun: numerik, karakter, logika, faktor
x <- c(10, 20, 30)
cat('times=2  :', rep(x, times = 2), '
')
cat('each=2   :', rep(x, each = 2), '
')
cat('var times:', rep(x, times = c(1, 2, 3)), '
')
cat('rep_len  :', rep_len(x, 7), '
')

Pemeriksaan Singkat

Apa hasil dari rep(c(1, 2), each = 3)?

Rekap: rep() untuk Mengulang Nilai

Sangat baik! Hal-hal penting dari pelajaran ini:

  • rep(x, times) mengulang seluruh vektor; rep(x, each) mengulang setiap elemen secara terpisah
  • Memberikan vektor ke times menghasilkan jumlah pengulangan yang bervariasi untuk setiap elemen
  • rep_len(x, n) mengulang x secara siklik hingga tepat n elemen dihasilkan
  • Penggunaan umum: label kelompok seimbang, masker, perluasan tabel frekuensi, matriks berpola
  • Berfungsi sama untuk jenis data numerik, karakter, dan logika
# Create a balanced experiment design
treatments <- c('Placebo', 'Drug_A', 'Drug_B')
subjects_per <- 4

design <- rep(treatments, each = subjects_per)
cat('Experiment design:
')
cat(design, '
')
cat('Total N:', length(design), '
')

Pertanyaan yang Sering Diajukan

Apakah pelajaran “rep() untuk Nilai Berulang” gratis?

Ya — teks lengkap “rep() untuk Nilai Berulang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus R Academy, upgrade ke CoddyKit PRO. Kursus R Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “rep() untuk Nilai Berulang”?

Ulangi nilai dan vektor dengan argumen rep(), times, dan each. Kamu berlatih R Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai R Academy?

Tidak diperlukan pengalaman sebelumnya. R Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “rep() untuk Nilai Berulang” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran R Academy ini?

Ya. Setiap pelajaran R Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Operator Titik Dua untuk Rentang Bilangan Bulat
  2. seq() untuk Urutan Kustom
  3. rep() untuk Nilai Berulang
  4. Vektor dan Urutan Bernama
← Kembali ke R Academy