Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment répliquer des lignes dans un bloc de données dans R



Vous pouvez utiliser les méthodes suivantes pour répliquer des lignes dans un bloc de données dans R à l’aide des fonctions du package dplyr :

Méthode 1 : répliquer chaque ligne le même nombre de fois

library(dplyr)

#replicate each row 3 times
df %>% slice(rep(1:n(), each = 3))

Méthode 2 : répliquer chaque ligne un nombre de fois différent

library(dplyr)

#replicate the first row 3 times and the second row 5 times
df %>% slice(rep(1:n(), times = c(3, 5)))

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : Répliquer chaque ligne le même nombre de fois

Supposons que nous ayons le bloc de données suivant avec deux lignes dans R :

#create data frame
df <- data.frame(team=c('A', 'B'),
                 points=c(10, 15),
                 rebounds=c(4, 8),
                 assists=c(2, 5))

#view data frame
df

  team points rebounds assists
1    A     10        4       2
2    B     15        8       5

Nous pouvons utiliser la syntaxe suivante pour répéter chaque ligne du bloc de données trois fois :

library(dplyr)

#create new data frame that repeats each row in original data frame 3 times
new_df <- df %>% slice(rep(1:n(), each = 3))

#view new data frame
new_df

  team points rebounds assists
1    A     10        4       2
2    A     10        4       2
3    A     10        4       2
4    B     15        8       5
5    B     15        8       5
6    B     15        8       5

Notez que chacune des lignes du bloc de données d’origine a été répétée trois fois.

Exemple 2 : répliquer chaque ligne un nombre de fois différent

Supposons que nous ayons le bloc de données suivant avec deux lignes dans R :

#create data frame
df <- data.frame(team=c('A', 'B'),
                 points=c(10, 15),
                 rebounds=c(4, 8),
                 assists=c(2, 5))

#view data frame
df

  team points rebounds assists
1    A     10        4       2
2    B     15        8       5

Nous pouvons utiliser la syntaxe suivante pour répéter la première ligne trois fois et la deuxième ligne cinq fois :

library(dplyr)

#create new data frame that repeats first row 3 times and second row 5 times
new_df <- df %>% slice(rep(1:n(), times = c(3, 5)))

#view new data frame
new_df

  team points rebounds assists
1    A     10        4       2
2    A     10        4       2
3    A     10        4       2
4    B     15        8       5
5    B     15        8       5
6    B     15        8       5
7    B     15        8       5
8    B     15        8       5

Notez que la première ligne du bloc de données d’origine a été répétée trois fois et la deuxième ligne cinq fois.

Connexe : Comment utiliser la fonction slice() dans dplyr

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans dplyr :

Comment sélectionner des colonnes par index à l’aide de dplyr
Comment sélectionner la première ligne par groupe à l’aide de dplyr
Comment filtrer selon plusieurs conditions à l’aide de dplyr
Comment filtrer les lignes contenant une certaine chaîne à l’aide de dplyr

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *