0Pricing
R Academy · Ders

Tekrarlanan Değerler için rep()

rep(), times ve each bağımsız değişkenleriyle değerleri ve vektörleri tekrarlayın.

Tekrarlanan Değerler için rep(), CoddyKit'te ücretsiz bir R Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, R Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. R Academy kursu toplamda 4 dersten oluşur.

rep() İşlevine Giriş

rep(), replicate sözcüğünün kısaltmasıdır. Değerleri veya vektörleri belirtilen sayıda tekrarlar. Yapılandırılmış test verileri ve dengeli veri kümeleri oluşturmak, ayrıca vektörleri varsayılan değerlerle doldurmak için en kullanışlı araçlardan biridir.

# 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) — Tüm Vektörü Tekrarlama

x bir vektör ve times tek bir tam sayı olduğunda rep(), vektörün tamamını bu sayı kadar tekrarlar. Çıktının uzunluğu length(x) * times olur.

# 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) — Her Öğeyi Tekrarlama

each bağımsız değişkeni, bir sonraki öğeye geçmeden önce her bir öğeyi tekrarlar. Bu, times ile arasındaki temel farktır: each, öğeleri bulundukları yerde tekrarlar.

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(...)) — Değişken Tekrarlar

times, x ile aynı uzunlukta bir vektör olduğunda x'in her öğesi, karşılık gelen sayı kadar tekrarlanır. Bu, tekrarlama üzerinde ayrıntılı denetim sağlar.

# 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() — Sabit Uzunluğa Kadar Tekrarlama

rep_len(x, length.out), x vektörünü sonuç tam olarak length.out öğeye ulaşana kadar tekrarlar. Tekrarlama döngüseldir; gerektiğinde vektörün başına geri dönülür.

# 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, '
')

times ve each Birlikte Kullanımı

Daha karmaşık tekrarlama düzenleri oluşturmak için times ve each bağımsız değişkenlerini birlikte kullanabilirsiniz. R önce each bağımsız değişkenini uygular (her öğeyi genişletir), ardından ortaya çıkan vektörü times kadar tekrarlar.

# 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), '
')

Dengeli Grup Etiketleri Oluşturma

rep() işlevinin klasik bir kullanımı, her grupta eşit sayıda gözlem bulunmasını istediğiniz deneyler için dengeli grup etiketleri oluşturmaktır.

# 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), '
')
}

Mantıksal Değerleri Tekrarlama

rep(), mantıksal değerler de dâhil olmak üzere her veri türüyle çalışır. Bu özellik maske, bayrak veya dönüşümlü TRUE/FALSE düzenleri oluşturmak için kullanışlıdır.

# 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, '
')

Matrix Doldurmak İçin rep()

Desenli verilerle matrix yapılarını hızlıca doldurmak için rep() kullanabilirsiniz. matrix() bir vektörü girdi olarak kabul ettiğinden, bu iki işlevi birleştirmek desenli matrix yapılarını kolayca oluşturmanızı sağlar.

# 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, '
')

Bir Özet Tablosunu Genişletme

Değişken times ile rep() işlevinin pratik bir kullanımı, bir sıklık tablosunu yeniden ham veri vektörüne dönüştürmektir. Her değerin kaç kez oluştuğunu biliyorsanız rep() gözlemleri yeniden oluşturur.

# 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))

rep() Özeti

rep() için hızlı bir başvuru:

  • rep(x, times = n) — x'in tamamını n kez tekrarlar
  • rep(x, each = n) — her öğeyi n kez tekrarlar
  • rep(x, times = c(...)) — öğe başına değişken sayıda tekrar
  • rep_len(x, n) — tam olarak n öğeye ulaşana kadar x üzerinde döngü oluşturur
  • Her türle çalışır: sayısal, character, mantıksal, faktör
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), '
')

Hızlı Kontrol

rep(c(1, 2), each = 3) ne üretir?

Özet: Değerleri Tekrarlamak İçin rep()

Mükemmel! Bu dersten çıkarılacak temel noktalar:

  • rep(x, times) vektörün tamamını, rep(x, each) ise her öğeyi ayrı ayrı tekrarlar
  • times bağımsız değişkenine bir vektör vermek, öğe başına değişken tekrarlama sayıları sağlar
  • rep_len(x, n), tam olarak n öğe üretilene kadar x üzerinde döngü oluşturur
  • Yaygın kullanımlar: dengeli grup etiketleri, maskeler, sıklık tablosu genişletme ve desenli matrix yapıları
  • Sayısal, character ve mantıksal veri türleriyle aynı şekilde çalışır
# 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), '
')

Sıkça Sorulan Sorular

“Tekrarlanan Değerler için rep()” dersi ücretsiz mi?

Evet — “Tekrarlanan Değerler için rep()” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve R Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. R Academy kursu toplamda 4 dersten oluşur.

“Tekrarlanan Değerler için rep()” dersinde ne öğreneceğim?

rep(), times ve each bağımsız değişkenleriyle değerleri ve vektörleri tekrarlayın. R Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

R Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te R Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Tekrarlanan Değerler için rep()” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu R Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her R Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Tamsayı Aralıkları için İki Nokta İşleci
  2. Özel Diziler için seq()
  3. Tekrarlanan Değerler için rep()
  4. Adlandırılmış Vektörler ve Diziler
← R Academy Sayfasına Dön