Vidéo: Tutoriel 05 R - Extraction conditionnelle de données et conversion (numeric, booléen, facteur) 2025
Parfois, vous devez convertir explicitement les facteurs en texte ou en nombre. Pour ce faire, vous utilisez les fonctions comme. caractère () ou as. numérique (). Tout d'abord, convertissez votre vecteur de directions en un facteur appelé directions. facteur (comme vous l'avez vu plus tôt): >> directions directions. directions factorielles. facteur [1] Nord Est Sud Sud Niveaux: Est Nord Nord
Utiliser comme. character () pour convertir un facteur en un vecteur de caractère:
Soyez très prudent lorsque vous convertissez des facteurs avec des niveaux numériques en un vecteur numérique. Les résultats peuvent ne pas être ce que vous attendez.
Par exemple, imaginez que vous ayez un vecteur qui indique des résultats de test avec les valeurs c (9, 8, 10, 8, 9), que vous convertissez en un facteur: >> numbers <- factor (c (9, 8, 10, 8, 9))
Pour regarder la représentation interne des nombres, utilisez str (): >> str (numbers) Facteur w / 3 niveaux "8 "," 9 "," 10 ": 2 1 3 1 2
Ceci indique que R stocke les valeurs comme c (2, 1, 3, 1, 2) avec les niveaux associés de c (" 8 "," 9 ", "dix").
Si vous voulez convertir des nombres en un vecteur de caractères, les résultats sont à peu près comme vous le souhaitez: >> as. caractère (chiffres) [1] "9" "8" "10" "8" "9"
Cependant, si vous utilisez simplement comme. numeric (), votre résultat est un vecteur des représentations au niveau interne de votre facteur et non les valeurs d'origine: >> as. numérique (nombres) [1] 2 1 3 1 2
Le R aide? facteur décrit une solution à ce problème. La solution consiste à indexer les niveaux par le facteur lui-même, puis à convertir en numérique: >> as. numeric (as. character (numbers)) [1] 9 8 10 8 9
Voici un exemple de
fonctions imbriquéesdans R, dans lesquelles vous passez les résultats d'une fonction à une seconde fonction. Les fonctions imbriquées sont un peu comme les poupées gigognes russes, où chaque jouet est dans le suivant:
La fonction interne, comme. caractère (chiffres), contient le texte c ("8", "9", "10").
La fonction externe, comme. numeric (…), fait la conversion finale en c (9, 8, 10, 8, 9).
