Fractionner
Il arrive souvent que vous ayez, dans un même data frame, des données concernant plusieurs groupes. Le data frame cash en était un exemple au chapitre 3 : on y trouvait des colonnes cash_flow et year pour deux groupes (sociétés A et B). Et si vous vouliez scinder ce data frame en deux data frames distincts selon la colonne company ? Dans le prochain exercice, vous verrez pourquoi cela peut être utile, mais voyons d’abord comment procéder avec la fonction split().
Créez un grouping sur lequel effectuer la division, puis utilisez split() pour créer une liste de deux data frames.
grouping <- cash$company
split_cash <- split(cash, grouping)
split_cash
$A
company cash_flow year
1 A 1000 1
2 A 4000 3
3 A 550 4
$B
company cash_flow year
4 B 1500 1
5 B 1100 2
6 B 750 4
7 B 6000 5
Pour retrouver votre data frame d’origine, utilisez unsplit(split_cash, grouping).
Cet exercice fait partie du cours
Introduction à R pour la finance
Instructions
- Le data frame
cashest disponible dans votre espace de travail. - Créez un nouveau
groupingà partir de la colonneyear. - Utilisez
split()pour divisercashen une liste de 5 data frames séparés paryear. Affectez le résultat àsplit_cash. - Affichez
split_cash. - Utilisez
unsplit()pour recombiner les data frames. Affectez le résultat àoriginal_cash. - Affichez
original_cashpour le comparer au data framecashinitial.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define grouping from year
grouping <-
# Split cash on your new grouping
split_cash <-
# Look at your split_cash list
# Unsplit split_cash to get the original data back.
original_cash <-
# Print original_cash