Vidéo: Tutoriel 05 R - Extraction conditionnelle de données et conversion (numeric, booléen, facteur) 2025
Pour créer un facteur dans R, vous utilisez la fonction factor (). Les trois premiers arguments de factor () justifient une exploration:
-
x : Le vecteur d'entrée que vous voulez transformer en un facteur.
-
niveaux : Un vecteur optionnel des valeurs que x aurait pu prendre. La valeur par défaut est triée lexicographiquement, valeurs uniques de x.
-
labels : Un autre vecteur optionnel qui, par défaut, prend les mêmes valeurs que les niveaux. Vous pouvez utiliser cet argument pour renommer vos niveaux.
Le fait que vous puissiez prendre en compte les deux niveaux et les étiquettes peut être source de confusion. Rappelez-vous simplement que les niveaux se réfèrent aux valeurs d'entrée de x, tandis que les étiquettes se réfèrent aux valeurs de sortie du nouveau facteur.
Considérons l'exemple suivant d'un vecteur composé de directions de la boussole: >> directions <- c ("Nord", "Est", "Sud", "Sud")
Notez que ce vecteur contient la valeur "Sud" deux fois et n'a pas la valeur "Ouest". D'abord, convertissez les directions en un facteur:
Notez que les niveaux de votre nouveau facteur ne contiennent pas la valeur "Ouest", qui est comme prévu. En pratique, cependant, il est logique d'avoir toutes les directions de la boussole possibles en tant que niveaux de votre facteur. Pour ajouter le niveau manquant, vous spécifiez les niveaux arguments du facteur:
facteur (directions, niveaux = c ("Nord", "Est", "Sud", "Ouest")) [1] Nord Est Sud Sud Niveaux: Nord Est Sud Ouest
Comme vous pouvez le voir, les valeurs sont toujours les mêmes mais cette fois les niveaux contiennent aussi "Ouest".
factor (directions, niveaux = c ("Nord", "Est", "Sud", "Ouest"), labels = c ("N", " E "," S "," W ")) [1] NESS Niveaux: NESW
