Guide des Factors en R : Un Guide pour Débutants
Salut à toi, futur·e programmeur·euse R ! Aujourd'hui, nous allons plonger dans le monde fascinant des factors en R. Ne t'inquiète pas si tu n'as jamais programmé auparavant - je serai ton guide amical tout au long de ce voyage, et à la fin, tu seras un·e expert·e en factorisation !
Qu'est-ce que les Factors ?
Avant de nous lancer dans le code, comprensons ce qu'est un factor. En R, les factors sont utilisés pour représenter des données catégorielles. Pense-y comme une manière de labeliser et d'organiser différents groupes ou catégories dans tes données.
Par exemple, si tu collectais des données sur les parfums de glace préférés de tes camarades de classe, tu pourrais utiliser des factors pour représenter les différents parfums : chocolat, vanille, fraise, etc. Chaque parfum serait un "niveau" dans ton factor.
Maintenant, voyons comment créer et travailler avec des factors en R !
Exemple : Créer Ton Premier Factor
Commençons par un exemple simple. Imagine que nous menons une enquête sur les animaux de compagnie préférés des gens.
# Créer un vecteur de préférences d'animaux de compagnie
pets <- c("Chien", "Chat", "Chien", "Poisson", "Chat", "Chien", "Hamster")
# Convertir le vecteur en factor
pet_factor <- factor(pets)
# Afficher le factor
print(pet_factor)
# Obtenir un résumé du factor
summary(pet_factor)
Lorsque tu exécuteras ce code, tu verras quelque chose comme ceci :
[1] Chien Chat Chien Poisson Chat Chien Hamster
Levels: Chat Chien Poisson Hamster
Chat Chien Poisson Hamster
2 3 1 1
Reprenons cela :
- Nous avons d'abord créé un vecteur
pets
avec différentes préférences d'animaux de compagnie. - Ensuite, nous avons utilisé la fonction
factor()
pour convertir ce vecteur en factor. - Lorsque nous affichons le factor, R nous montre les valeurs et les niveaux (catégories uniques) dans le factor.
- La fonction
summary()
nous donne un compte du nombre de fois que chaque niveau apparaît dans notre factor.
N'est-il pas génial que R ait automatiquement identifié les catégories uniques et les ait comptées pour nous ? C'est pourquoi les factors sont si utiles pour les données catégorielles !
Factors dans un Data Frame
Maintenant, voyons comment les factors fonctionnent à l'intérieur d'un data frame, qui est une structure courante pour stocker des données en R.
# Créer un data frame avec des préférences d'animaux de compagnie et des âges
pet_data <- data.frame(
name = c("Alice", "Bob", "Charlie", "David", "Eve"),
pet = c("Chien", "Chat", "Chien", "Poisson", "Chat"),
age = c(25, 30, 35, 28, 22)
)
# Convertir la colonne 'pet' en factor
pet_data$pet <- factor(pet_data$pet)
# Afficher la structure du data frame
str(pet_data)
# Obtenir un résumé du data frame
summary(pet_data)
Exécuter ce code donnera :
'data.frame': 5 obs. de 3 variables:
$ name: chr "Alice" "Bob" "Charlie" "David" ...
$ pet : Factor w/ 3 levels "Chat","Chien","Poisson": 2 1 2 3 1
$ age : num 25 30 35 28 22
name pet age
Length:5 Chat :2 Min. :22.00
Class :character Chien :2 1st Qu.:25.00
Mode :character Poisson :1 Median :28.00
Mean :28.00
3rd Qu.:30.00
Max. :35.00
Voici ce qui se passe :
- Nous avons créé un data frame avec des noms, des préférences d'animaux de compagnie, et des âges.
- Nous avons converti la colonne 'pet' en factor.
- La fonction
str()
nous montre la structure de notre data frame. Note que 'pet' est maintenant un factor avec 3 niveaux. - La fonction
summary()
nous donne un résumé de chaque colonne, y compris un compte de chaque type d'animal pour notre colonne factor.
Changer l'Ordre des Niveaux
Parfois, tu pourrais vouloir changer l'ordre des niveaux dans ton factor. Voyons comment faire cela :
# Créer un factor de tailles de chemise
sizes <- factor(c("Petit", "Moyen", "Large", "Petit", "Moyen"))
# Afficher les niveaux actuels
print(levels(sizes))
# Changer l'ordre des niveaux
sizes <- factor(sizes, levels = c("Petit", "Moyen", "Large"))
# Afficher les nouveaux niveaux
print(levels(sizes))
Cela donnera :
[1] "Large" "Moyen" "Petit"
[1] "Petit" "Moyen" "Large"
Voici ce que nous avons fait :
- Nous avons créé un factor de tailles de chemise.
- Initialement, R a ordonné les niveaux alphabétiquement.
- Ensuite, nous avons utilisé l'argument
levels
dans la fonctionfactor()
pour spécifier notre ordre désiré. - Les niveaux sont maintenant dans l'ordre que nous avons spécifié : Petit, Moyen, Large.
Cela peut être particulièrement utile lorsque tu crées des graphiques ou des tableaux et que tu veux contrôler l'ordre dans lequel les catégories apparaissent.
Générer des Niveaux de Factor
Parfois, tu pourrais vouloir générer des niveaux de factor de manière programmatique. Voici comment tu peux le faire :
# Générer une séquence de mois
months <- factor(month.abb)
# Afficher les niveaux
print(levels(months))
# Créer un factor avec des niveaux personnalisés
temperatures <- factor(c("Froid", "Chaud", "Tempéré", "Chaud", "Froid"),
levels = c("Froid", "Tempéré", "Chaud"),
ordered = TRUE)
# Afficher le factor
print(temperatures)
Cela donnera :
[1] "Jan" "Fév" "Mar" "Avr" "Mai" "Jun" "Jul" "Août" "Sep" "Oct" "Nov" "Déc"
[1] Froid Chaud Tempéré Chaud Froid
Levels: Froid < Tempéré < Chaud
Reprenons cela :
- Nous avons utilisé
month.abb
, une constante intégrée de R, pour créer un factor d'abréviations de mois. - Ensuite, nous avons créé un factor personnalisé pour les températures.
- Nous avons spécifié les niveaux que nous voulons et leur ordre.
- En setting
ordered = TRUE
, nous avons créé un factor ordonné où Froid < Tempéré < Chaud.
Méthodes Utiles pour les Factors
Voici un tableau de quelques méthodes utiles pour travailler avec des factors :
Méthode | Description |
---|---|
levels() |
Obtenir ou définir les niveaux d'un factor |
nlevels() |
Obtenir le nombre de niveaux dans un factor |
as.numeric() |
Convertir un factor en numérique (basé sur l'ordre des niveaux) |
as.character() |
Convertir un factor en chaîne de caractères |
table() |
Créer une table de fréquence d'un factor |
droplevels() |
Supprimer les niveaux inutilisés d'un factor |
souviens-toi, la pratique rend parfait ! Essaie de créer tes propres factors et expérimente avec ces méthodes. Avant de t'en rendre compte, tu seras un·e pro du traitement des données catégorielles !
J'espère que ce tutoriel t'a aidé à comprendre les factors en R. Ils sont un outil puissant pour travailler avec des données catégorielles, et les maîtriser rendra ton voyage d'analyse de données beaucoup plus fluide. Bonne programmation !
Credits: Image by storyset