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 une normalisation quantile dans R



En statistique, la normalisation quantile est une méthode qui rend deux distributions identiques en termes de propriétés statistiques.

L’exemple suivant montre comment effectuer une normalisation quantile dans R.

Exemple : normalisation quantile dans R

Supposons que nous créions le bloc de données suivant dans R qui contient deux colonnes :

#make this example reproducible
set.seed(0)

#create data frame with two columns
df <- data.frame(x=rnorm(1000),
                 y=rnorm(1000))

#view first six rows of data frame
head(df)

           x           y
1  1.2629543 -0.28685156
2 -0.3262334  1.84110689
3  1.3297993 -0.15676431
4  1.2724293 -1.38980264
5  0.4146414 -1.47310399
6 -1.5399500 -0.06951893

Nous pouvons utiliser les fonctions sapply() et quantile() pour calculer les quantiles pour x et y :

#calculate quantiles for x and y
sapply(df, function(x) quantile(x, probs = seq(0, 1, 1/4)))

               x           y
0%   -3.23638573 -3.04536393
25%  -0.70845589 -0.73331907
50%  -0.05887078 -0.03181533
75%   0.68763873  0.71755969
100%  3.26641452  3.03903341

Notez que x et y ont des valeurs similaires pour les quantiles, mais pas des valeurs identiques.

Par exemple, la valeur au 25e centile pour x est -0,708 et la valeur au 25e centile pour y est -0,7333 .

Pour effectuer une normalisation quantile, nous pouvons utiliser la fonction normalize.quantiles() du package preprocessCore dans R :

library(preprocessCore)

#perform quantile normalization
df_norm <- as.data.frame(normalize.quantiles(as.matrix(df)))

#rename data frame columns
names(df_norm) <- c('x', 'y')

#view first six row of new data frame
head(df_norm)

           x           y
1  1.2632137 -0.28520228
2 -0.3469744  1.82440519
3  1.3465807 -0.16471644
4  1.2692599 -1.34472394
5  0.4161133 -1.43717759
6 -1.6269731 -0.07906793

Nous pouvons ensuite utiliser le code suivant pour calculer à nouveau les quantiles pour x et y :

#calculate quantiles for x and y
sapply(df_norm, function(x) quantile(x, probs = seq(0, 1, 1/4)))

               x           y
0%   -3.14087483 -3.14087483
25%  -0.72088748 -0.72088748
50%  -0.04534305 -0.04534305
75%   0.70259921  0.70259921
100%  3.15272396  3.15272396

Notez que les quantiles sont désormais identiques pour x et y.

Nous dirions que x et y ont été normalisés par quantile. Autrement dit, les deux distributions sont désormais identiques en termes de propriétés statistiques.

Ressources additionnelles

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

Comment normaliser les données dans R
Comment calculer les centiles en R
Comment utiliser la fonction quantile() dans R

Ajouter un commentaire

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