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 combiner des lignes avec les mêmes valeurs de colonne dans R



Vous pouvez utiliser la syntaxe de base suivante pour combiner des lignes avec les mêmes valeurs de colonne dans un bloc de données dans R :

library(dplyr)

df %>%
  group_by(group_var1, group_var2) %>%
  summarise(across(c(values_var1, values_var2), sum))

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : combiner des lignes avec les mêmes valeurs de colonne dans R

Supposons que nous disposions du bloc de données suivant contenant des informations sur les ventes et les retours effectués par divers employés d’une entreprise :

#create data frame
df <- data.frame(id=c(101, 101, 102, 103, 103, 103),
                 employee=c('Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'),
                 sales=c(4, 1, 3, 2, 5, 3),
                 returns=c(1, 2, 2, 1, 3, 2))

#view data frame
df

   id employee sales returns
1 101      Dan     4       1
2 101      Dan     1       2
3 102     Rick     3       2
4 103      Ken     2       1
5 103      Ken     5       3
6 103      Ken     3       2

Nous pouvons utiliser la syntaxe suivante pour combiner les lignes qui ont la même valeur dans les colonnes id et Employee , puis agréger les colonnes restantes :

library(dplyr)

#combine rows with same value for id and employee and aggregate remaining columns
df %>%
  group_by(id, employee) %>%
  summarise(across(c(sales, returns), sum))

# A tibble: 3 x 4
# Groups:   id [3]
     id employee sales returns
          
1   101 Dan          5       3
2   102 Rick         3       2
3   103 Ken         10       6

Le résultat est un bloc de données qui combine toutes les lignes du bloc de données d’origine qui avaient la même valeur dans les colonnes identifiant et employé , puis calcule la somme des valeurs dans les colonnes ventes et retours .

Remarque : Nous avons choisi d’agréger les colonnes de ventes et de retours à l’aide de la fonction somme , mais vous pouvez agréger par une autre mesure telle que la moyenne si vous le souhaitez.

Connexe : Comment utiliser la fonction across() dans dplyr

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment combiner des listes dans R
Comment combiner deux vecteurs dans R
Comment combiner deux blocs de données dans R avec des colonnes différentes

Ajouter un commentaire

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