Comment travailler avec les facteurs et les vecteurs numériques dans les modèles R et calculs

Si vous travaillez avec des facteurs de R qui ont des valeurs numériques comme les niveaux, vous devez être très prudent lors de l'utilisation de ces facteurs dans les modèles et d'autres calculs. Par exemple, vous convertissez le nombre de cylindres dans l'ensemble de données intégré mtcars à un facteur comme ceci:

> Cyl.factor lt; - as.factor (mtcars $ cyl)

Si vous voulez connaître le nombre médian de cylindres, vous pourriez être tenté de faire ce qui suit:




> Médian (as.numeric (cyl.factor)) [1] 2

Ce résultat est faux, parce que le nombre minimum de cylindres est de quatre. R convertit la représentation interne du facteur de numéros, et non les étiquettes. Ainsi, vous obtenez à partir d'un nombre au nombre de niveaux à la place des valeurs d'origine.

Pour transformer un facteur correctement ses valeurs numériques originales, vous pouvez d'abord transformer le facteur à caractère et puis numérique. Mais sur de très gros volumes de données, cela se fait plus rapidement avec la construction suivante:

> As.numeric (niveaux (cyl.factor)) [cyl.factor]

Avec ce code, vous créez un vecteur court avec les niveaux que des valeurs numériques, puis utilisez la représentation entière interne du facteur pour sélectionner la valeur correcte.

Bien que R convertit souvent un vecteur numérique à un facteur automatiquement lorsque cela est nécessaire, il ne le fait pas si les deux vecteurs et facteurs numériques peuvent être utilisés. Si vous souhaitez modéliser, par exemple, le kilométrage d'une voiture pour le nombre de cylindres, vous obtenez un modèle différent lorsque vous utilisez le nombre de cylindres comme un vecteur numérique ou comme un facteur.

L'interprétation de ces deux modèles est complètement différente, et beaucoup dépend de ce que vous voulez faire exactement. Mais vous devez être conscient de cela, ou vous pouvez être interprétez le mauvais modèle.


» » » » Comment travailler avec les facteurs et les vecteurs numériques dans les modèles R et calculs