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 effectuer un regroupement de données dans R : avec des exemples



Vous pouvez utiliser l’une des deux méthodes suivantes pour effectuer un regroupement de données dans R :

Méthode 1 : utiliser la fonction cut()

library(dplyr)

#perform binning with custom breaks
df %>% mutate(new_bin = cut(variable_name, breaks=c(0, 10, 20, 30)))

#perform binning with specific number of bins
df %>% mutate(new_bin = cut(variable_name, breaks=3))

Méthode 2 : utiliser la fonction ntile()

library(dplyr)

#perform binning with specific number of bins
df %>% mutate(new_bin = ntile(variable_name, n=3))

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(points=c(4, 4, 7, 8, 12, 13, 15, 18, 22, 23, 23, 25),
                 assists=c(2, 5, 4, 7, 7, 8, 5, 4, 5, 11, 13, 8),
                 rebounds=c(7, 7, 4, 6, 3, 8, 9, 9, 12, 11, 8, 9))

#view head of data frame
head(df)

  points assists rebounds
1      4       2        7
2      4       5        7
3      7       4        4
4      8       7        6
5     12       7        3
6     13       8        8

Exemple 1 : effectuer un regroupement de données avec la fonction cut()

Le code suivant montre comment effectuer un regroupement de données sur la variable points à l’aide de la fonction cut() avec des marques de rupture spécifiques :

library(dplyr)

#perform data binning on points variable
df %>% mutate(points_bin = cut(points, breaks=c(0, 10, 20, 30)))

   points assists rebounds points_bin
1       4       2        7     (0,10]
2       4       5        7     (0,10]
3       7       4        4     (0,10]
4       8       7        6     (0,10]
5      12       7        3    (10,20]
6      13       8        8    (10,20]
7      15       5        9    (10,20]
8      18       4        9    (10,20]
9      22       5       12    (20,30]
10     23      11       11    (20,30]
11     23      13        8    (20,30]
12     25       8        9    (20,30]

Notez que chaque ligne du bloc de données a été placée dans l’un des trois groupes en fonction de la valeur de la colonne de points.

Nous pourrions également spécifier le nombre de sauts à utiliser pour créer des cases de largeur égale allant de la valeur minimale à la valeur maximale de la colonne de points :

library(dplyr)

#perform data binning on points variable
df %>% mutate(points_bin = cut(points, breaks=3))

   points assists rebounds points_bin
1       4       2        7  (3.98,11]
2       4       5        7  (3.98,11]
3       7       4        4  (3.98,11]
4       8       7        6  (3.98,11]
5      12       7        3    (11,18]
6      13       8        8    (11,18]
7      15       5        9    (11,18]
8      18       4        9    (11,18]
9      22       5       12    (18,25]
10     23      11       11    (18,25]
11     23      13        8    (18,25]
12     25       8        9    (18,25]

Exemple 2 : effectuer un regroupement de données avec la fonction ntile()

Le code suivant montre comment effectuer un regroupement de données sur la variable points à l’aide de la fonction ntile() avec un nombre spécifique de groupes résultants :

library(dplyr)

#perform data binning on points variable
df %>% mutate(points_bin = ntile(points, n=3))

   points assists rebounds points_bin
1       4       2        7          1
2       4       5        7          1
3       7       4        4          1
4       8       7        6          1
5      12       7        3          2
6      13       8        8          2
7      15       5        9          2
8      18       4        9          2
9      22       5       12          3
10     23      11       11          3
11     23      13        8          3
12     25       8        9          3

Notez que chaque ligne s’est vu attribuer une case de 1 à 3 en fonction de la valeur de la colonne de points .

Il est préférable d’utiliser la fonction ntile() lorsque vous souhaitez qu’une valeur entière soit affichée dans chaque ligne plutôt qu’un intervalle indiquant la plage du bac.

Ressources additionnelles

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

Comment remplacer conditionnellement les valeurs dans le bloc de données dans R
Comment calculer une moyenne tronquée dans R
Comment calculer la moyenne conditionnelle dans R

Ajouter un commentaire

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