Regrouper une variable numérique en facteur
Votre vieil ami Dan vous a envoyé une liste de 50 obligations notées AAA appelée AAA_rank, où chaque obligation a un nombre supplémentaire de 1 à 100 décrivant à quel point il pense qu'elle sera rentable (100 étant la plus rentable). Vous souhaitez pousser l'analyse de ses propositions, mais avant tout, il serait utile de répartir les obligations en compartiments selon leur cote. Cela vous aidera à créer des groupes d'obligations, de la moins rentable à la plus rentable, pour les analyser plus facilement.
C'est un excellent exemple de création d'un facteur à partir d'un vecteur numérique. La façon la plus simple est d'utiliser cut(). Ci-dessous, la cote de Dan de 1 à 100 est répartie en 5 groupes espacés uniformément. Notez que le ( dans les niveaux du facteur signifie que nous n'incluons pas le nombre placé à côté dans ce groupe, et que le ] signifie que nous incluons ce nombre dans le groupe.
head(AAA_rank)
[1] 31 48 100 53 85 73
AAA_factor <- cut(x = AAA_rank, breaks = c(0, 20, 40, 60, 80, 100))
head(AAA_factor)
[1] (20,40] (40,60] (80,100] (40,60] (80,100] (60,80]
Levels: (0,20] (20,40] (40,60] (60,80] (80,100]
Dans la fonction cut(), utiliser breaks = vous permet d'indiquer les groupes selon lesquels R doit regrouper vos données!
Cette activité fait partie du cours
Introduction à R pour la finance
Instructions de l’exercice
- Plutôt que 5 compartiments, pouvez-vous n'en créer que 4? Dans
breaks =, utilisez un vecteur de 0 à 100 où chaque élément est séparé de 25. Assignez-le àAAA_factor. - Les 4 compartiments n'ont pas des noms très parlants. Utilisez
levels()pour renommer les niveaux en"low","medium","high"et"very_high", dans cet ordre. - Affichez le nouveau
AAA_factorainsi nommé. - Tracez
AAA_factorpour visualiser votre travail!
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)
# Rename the levels
# Print AAA_factor
# Plot AAA_factor
plot(___)