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 | 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]Voir aussi
[modifier | modifier le wikicode]- Forcats sur tidyverse.org
- Facteurs et vecteurs labellisés