rep() pour répéter des valeurs
Répétez des valeurs et des vecteurs avec rep(), ainsi qu’avec les arguments times et each.
rep() pour répéter des valeurs est une leçon R Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage R Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours R Academy comprend 4 leçons au total.
Introduction à rep()
rep() est l’abréviation de replicate. Cette fonction répète des valeurs ou des vecteurs un nombre donné de fois. C’est l’un des outils les plus utiles pour créer des données de test structurées, des jeux de données équilibrés et des vecteurs remplis de valeurs par défaut.
# 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) — Répéter le vecteur entier
Lorsque x est un vecteur et que times est un entier unique, rep() répète le vecteur entier ce nombre de fois. La longueur du résultat est 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) — Répéter chaque élément
L’argument each répète chaque élément individuellement avant de passer au suivant. C’est la différence essentielle avec times : each répète les éléments sur place.
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 Crep(x, times = c(...)) — Répétitions variables
Lorsque times est un vecteur de même longueur que x, chaque élément de x est répété le nombre de fois correspondant. Cela permet de contrôler précisément les répétitions.
# 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() — Répéter jusqu’à une longueur fixe
rep_len(x, length.out) répète le vecteur x jusqu’à ce que le résultat contienne exactement length.out éléments. La répétition est cyclique : elle revient au début du vecteur lorsque cela est nécessaire.
# 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, '
')Combiner times et each
Vous pouvez utiliser times et each ensemble pour créer des schémas de répétition plus complexes. R applique d’abord each (en développant chaque élément), puis répète le vecteur obtenu times fois.
# 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), '
')Créer des étiquettes de groupes équilibrés
Une utilisation classique de rep() consiste à créer des étiquettes de groupes équilibrés pour les expériences, lorsque vous souhaitez obtenir le même nombre d’observations dans chaque groupe.
# 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), '
')
}Répéter des valeurs logiques
rep() fonctionne avec tous les types de données, y compris les valeurs logiques. Cette fonction est utile pour créer des masques, des indicateurs ou des motifs alternant TRUE et FALSE.
# 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() pour remplir une matrice
Vous pouvez utiliser rep() pour remplir rapidement des matrices avec des données structurées. Comme matrix() accepte un vecteur en entrée, leur combinaison facilite la création de matrices à motifs.
# 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, '
')Développer une table récapitulative
Une utilisation pratique de rep() avec un argument times variable consiste à convertir une table de fréquences en vecteur de données brutes. Si vous connaissez le nombre d’occurrences de chaque valeur, rep() reconstitue les observations.
# 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))Résumé de rep()
Voici une référence rapide de rep() :
rep(x, times = n)— répéter x entier n foisrep(x, each = n)— répéter chaque élément n foisrep(x, times = c(...))— nombre de répétitions variable selon l’élémentrep_len(x, n)— répéter x cycliquement jusqu’à atteindre exactement n éléments- Fonctionne avec tous les types : numérique, character, logique, facteur
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), '
')Vérification rapide
Que produit rep(c(1, 2), each = 3) ?
Récapitulatif : rep() pour répéter des valeurs
Excellent ! Voici les principaux points à retenir de cette leçon :
rep(x, times)répète le vecteur entier ;rep(x, each)répète chaque élément individuellement- Passer un vecteur à
timespermet de définir un nombre de répétitions différent pour chaque élément rep_len(x, n)répète x cycliquement jusqu’à produire exactement n éléments- Utilisations courantes : étiquettes de groupes équilibrés, masques, développement de tables de fréquences, matrices à motifs
- Fonctionne de la même manière avec les données numériques, character et logiques
# 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), '
')Questions Fréquemment Posées
La leçon « rep() pour répéter des valeurs » est-elle gratuite ?
Oui — le texte complet de « rep() pour répéter des valeurs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours R Academy, passe à CoddyKit PRO. Le cours R Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « rep() pour répéter des valeurs » ?
Répétez des valeurs et des vecteurs avec rep(), ainsi qu’avec les arguments times et each. Tu pratiques R Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer R Academy ?
Aucune expérience préalable n'est requise. R Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « rep() pour répéter des valeurs » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon R Academy ?
Oui. Chaque leçon R Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- L’opérateur deux-points pour les intervalles d’entiers
- seq() pour les suites personnalisées
- rep() pour répéter des valeurs
- Vecteurs et suites nommés