CommencerCommencer gratuitement

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, chacune étant associée à un nombre de 1 à 100 décrivant à quel point il pense que l’obligation sera rentable (100 étant la plus rentable). Vous souhaitez analyser ses suggestions plus en profondeur, mais ce serait d’abord pratique que les obligations soient regroupées par plage de classement. 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. Le moyen le plus simple consiste à utiliser cut(). Ci-dessous, le classement de Dan de 1 à 100 est réparti en 5 groupes équidistants. Notez que le ( dans les niveaux du facteur signifie que nous n’incluons pas le nombre indiqué à côté dans ce groupe, et 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(), l’argument breaks = vous permet de spécifier les groupes selon lesquels R doit regrouper vos données !

Cet exercice fait partie du cours

Introduction à R pour la finance

Afficher le cours

Instructions

  • Au lieu de 5 regroupements, pouvez-vous n’en créer que 4 ? Dans breaks =, utilisez un vecteur allant de 0 à 100 où chaque élément est espacé de 25. Assignez-le à AAA_factor.
  • Les 4 regroupements n’ont pas de noms très explicites. Utilisez levels() pour renommer les niveaux en "low", "medium", "high" et "very_high", dans cet ordre.
  • Affichez le nouveau AAA_factor avec ses noms.
  • Représentez AAA_factor pour visualiser votre travail !

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)

# Rename the levels 


# Print AAA_factor


# Plot AAA_factor
plot(___)
Modifier et exécuter le code