Power Query – Script R – Les facteurs


Il existe deux types de variables : les variables continues, que l’on ne peut dénombrer (par exemple l’ensemble des valeurs décimales comprises entre 1 et dix) et les variables catégorielles.

Dans R, un facteur représente l’ensemble des valeurs que peut prendre une variable catégorielle, par exemple, pour une marque de véhicule : Peugeot, Citroen etc..

Cette notion de variable est importante en statistique, car vous ne développerez pas les mêmes modèles selon que la variable est continue ou catégorielle.

Pour créer un facteur à partir d’un vecteur, il suffit d’utiliser la fonction factor().

factor(c(1,2,3,1,2,3,5,1,1,1,3,5))

Cette fonction associe des niveaux (levels) au vecteur. Ces niveaux sont les valeurs uniques du vecteur.

Pour afficher ces valeurs uniques vous devrez utiliser la fonction levels()

a = c(1,2,3,1,2,3,5,1,1,1,3,5)
f = factor(a)
df = data.frame(levels(f))

Vous voudrez parfois affecter un ordre aux valeurs de votre facteur, par exemple (grand, petit,moyen –> petit, moyen, grand). Ceci est possible avec R en utilisant la fonction order() :

a = c("petit","grand","moyen","petit","petit","moyen")
f = factor(a,order=TRUE,levels=c("petit","moyen","grand"))
df = data.frame(levels(f))

Cette technique permet de trier des valeurs non numériques.

En utilisant la fonction summary(), vous pouvez obtenir le nombre d’occurence de chaque catégorie, dans le vecteur :

a = c("petit","grand","moyen","petit","petit","moyen")
f = factor(a,order=TRUE,levels=c("petit","moyen","grand"))
df = data.frame(levels(f),summary(f))

Lorsque le vecteur est ordonné,vous pouvez opérer des comparaisons :

a = c("petit","grand","moyen","petit","petit","moyen")
f = factor(a,order=TRUE,levels=c("grand","moyen","petit"))
df = data.frame(a[1]>a[2])

Retournera TRUE.

Les facteurs sont très important pour le bon fonctionnement des algorithmes de machine learning de R.

 

Laissez un commentaire

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