Programmer en R/Manipuler les facteurs


En R, un facteur (ou factor) est un vecteur contenant uniquement certaines valeurs prédéfinies[1]. Les valeurs pré-définies sont appelées des levels.

La librairie forcats contient un certain nombre de fonction permettant de travailler facilement avec des facteurs.

IntroductionModifier

Dans cette section, on génère aléatoirement un vecteur pouvant prendre trois valeurs : "fraise", "banane" ou "orange". On part du vecteur contenant les trois valeurs :

> c("orange", "banane", "fraise")
[1] "orange" "banane" "fraise"

On tire aléatoirement dans ce vecteur grâce à la fonction sample() avec l'option size=10 et replace = TRUE (tirage avec remise.

> x <- sample(x = c("orange", "banane", "fraise"), size = 10, replace = TRUE)
> x
 [1] "banane" "banane" "orange" "banane" "orange" "fraise" "fraise" "orange" "banane" "banane"

Pour le moment, le vecteur x est de classe chaîne de caractère :

> class(x)
[1] "character"

Comme il prend un nombre fini de valeurs, on pourrait aussi le définir comme un facteur :

> x <- factor(x = x)
> x
 [1] banane banane orange banane orange fraise fraise orange banane banane
Levels: banane fraise orange

La fonction levels() permet d'obtenir la liste des valeurs :

> levels(x = x)
[1] "banane" "fraise" "orange"

Tri à platModifier

La fonction fct_count() permet de réaliser un tri à plat :

> fct_count(x)
# A tibble: 3 × 2
       f     n
  <fctr> <int>
1 banane     5
2 fraise     2
3 orange     3

Notes et référencesModifier

  1. http://adv-r.had.co.nz/Data-structures.html#vectors

Voir aussiModifier