Programmer en R/Manipuler les facteurs

Un livre de Wikilivres.

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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

Voir aussi[modifier | modifier le wikicode]