R Facteur

Les facteurs sont utilisés pour stocker des types de données catégorielles. Par exemple, le sexe d'une personne comporte deux catégories : homme et femme, et l'âge peut être divisé en mineurs et adultes.

Dans R, les facteurs sont créés à l'aide de la fonction factor(), en prenant un vecteur comme paramètre d'entrée.

Format de syntaxe de la fonction factor() :

factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

Description du paramètre :

  • x : vecteur.
  • levels : spécifiez les valeurs des niveaux. Si elles ne sont pas spécifiées, elles sont obtenues à partir des valeurs distinctes de x.
  • labels : étiquettes des niveaux. Si elles ne sont pas spécifiées, les chaînes correspondantes des valeurs des niveaux sont utilisées.
  • exclude : caractères à exclure.
  • ordered : une valeur logique utilisée pour spécifier si les niveaux sont ordonnés.
  • nmax : la limite supérieure du nombre de niveaux.

L'exemple suivant convertit un vecteur de caractères en facteur :

Exemple

x <- c("Male", "Female", "Male", "Male",  "Female")
sex <- factor(x)
print(sex)
print(is.factor(sex))

La sortie de l'exécution du code ci-dessus est :

[1] 男 女 男 男 女
Levels: 男 女
[1] TRUE

L'exemple suivant définit les niveaux du facteur àc('Male','Female'):

Exemple

x <- c("Homme", "Femme", "Homme", "Homme",  "Femme",levels=c('Male','Female'))
sex <- factor(x)
print(sex)
print(is.factor(sex))

La sortie de l'exécution du code ci-dessus est :

levels1 levels2 
男      女      男      男      女      男      女 
Levels: 男 女
[1] TRUE

Étiquettes des niveaux de facteur

Ensuite, nous utilisons le paramètre labels pour ajouter des étiquettes à chaque niveau de facteur. L'ordre des caractères du paramètre labels doit être cohérent avec l'ordre des caractères du paramètre levels, par exemple :

Exemple

sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('femme','homme'),ordered=VRAI)
print(sex)

La sortie de l'exécution du code ci-dessus est :

[1] female male   female female male  
Levels: female < male

Générer les niveaux de facteur

Nous pouvons utilisergl()une fonction pour générer des niveaux de facteur, et le format de syntaxe est le suivant :

gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)

Description du paramètre :

  • n: définir le nombre de niveaux.
  • k: définir le nombre de répétitions de chaque niveau.
  • length: définir la longueur.
  • labels: définir les valeurs des niveaux.
  • ordered: définir si les niveaux sont ordonnés, une valeur booléenne.

Exemple

v <- gl(3, 4, labels = c("Google", "Example","Taobao"))
print(v)

La sortie de l'exécution du code ci-dessus est :

 [1] Google Google Google Google Example Example Example Example Taobao Taobao
[11] Taobao Taobao
Levels: Google Example Taobao
Autres extensions