Introduction aux facteurs dans R

Dans R, nous pouvons traiter différents types de variables. Nous pouvons également supposer le facteur comme un type de variable qui ne prend qu'un nombre limité de valeurs assignées; cette variable est également appelée variable catégorielle.

Avantages d'un facteur

  • Il peut stocker à la fois des entiers et des chaînes

1. Dans le cas d'entiers

data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data

Production

2. Dans le cas de chaînes

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y

Production

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Production

  • Très utile lorsque les colonnes ont un nombre limité de valeurs uniques
NomMode de voyage
Johnun camion
ShawVoiture
LeeCycle
MusanBicyclette
Lozyun camion
RiyaVoiture
MijCycle

Ici, nous avons un nombre limité de valeurs uniques dans la colonne 2.

  • Il aide à rectifier les chaînes avec des fautes de frappe (erreurs de frappe).

Comment créer un facteur dans R?

Nous pouvons créer des facteurs en utilisant des facteurs de code ().

En savoir plus sur le facteur ().

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

Où,

X est un ensemble de données catégorielles. Comme nous l'avons déjà expliqué, il doit s'agir d'une chaîne ou d'entiers.

Les niveaux sont un ensemble de valeurs qui peuvent être prises par X. Les niveaux contiennent toute la valeur unique disponible dans la colonne (x).

Les étiquettes comme leur nom le suggère suggèrent l'étiquetage des données disponibles sur X.

Ordonné détermine si les niveaux doivent être ordonnés dans un ordre particulier.

Exemple 1

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y

Production:

Exemple # 2

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Production:

Dans l'exemple 2, nous pouvons voir que nous pouvons également définir des «niveaux».

Voyons maintenant plus sur les facteurs en utilisant Str (y).

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Production:

str(y)

Production:

On voit clairement que les facteurs sont stockés sous forme de vecteurs entiers et les niveaux sont stockés sous forme de vecteur de caractères, et les éléments individuels sont réellement stockés sous forme d'indices.

  • Nous allons maintenant voir comment accéder aux composants d'un facteur

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Production:

y(2) # helps to access 2nd element

Production:

x(c(3, 4)) # helps to access 3rd and 4th element

Production

x(-1) # access all except 1st element

Production:

  • Nous allons maintenant voir comment modifier un facteur.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Production:

y(3) = "Truck" #modifty third element
y

Production

Ajout à un facteur:

y(10) = "Car"
y

Production:

Veuillez noter que nous ne pouvons rien attribuer à un facteur qui ne fait pas partie des niveaux.

y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated

Production:

Dans cet exemple, nous pouvons voir que «Plane» ne fait pas partie de notre niveau, nous avons donc reçu un message d'avertissement qui dit que «Plane» est un niveau de facteur non valide.

Convertir des données en facteur

Les données sont disponibles en abondance et il est difficile à chaque fois d'écrire un mot complet dans le code.Pour cela, nous convertirons d'abord les données en facteur, puis convertirons le facteur en caractère ou en nombre selon notre convenance.

Travaillons maintenant sur des données réelles. Où nous avons 50 observations et les candidats donnent leur direction de travail. Comme John voyage vers le nord pour ses tâches ou Sam voyage vers le sud pour ses tâches.

direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor

Production:

Niveaux: Est Nord Sud Ouest

Maintenant, si nous voulons convertir le facteur en un vecteur de caractères:

Nous utiliserons le code as.character ().

as.character(direction.factor)

Production:

Ou nous voulons convertir le facteur en un vecteur numérique:

Nous utiliserons le code as.numeric ().

as.numeric(direction.factor)

Production:

Articles recommandés

Ceci est un guide des facteurs dans R. Ici, nous discutons de l'introduction, Avantages d'un facteur, Comment créer un facteur dans R avec les sorties. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus–

  1. Spark SQL Dataframe
  2. Types de données R
  3. Base de données multidimensionnelle
  4. Pipeline de données AWS

Catégorie: