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.

Introduction modifier

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 à plat modifier

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érences modifier

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

Voir aussi modifier