Cours
Le sous-ensemble dans R est une fonction d'indexation utile pour accéder aux éléments d'un objet. Il peut être utilisé pour sélectionner et filtrer les variables et les observations. Les deux principales méthodes de subdivision des données dans R sont les parenthèses []
, qui constituent une méthode d'indexation générale, et la fonction subset()
, qui est une méthode de plus haut niveau et plus conviviale.
Si vous souhaitez en savoir plus sur le sous-ensemble de données et d'autres techniques de programmation R, commencez par notre cours Introduction à R dès aujourd'hui. Vous serez surpris de la rapidité avec laquelle vous l'assimilerez. Si vous avez plus d'expérience, notre R intermédiaire est une autre excellente option.
Sélection des lignes
Voici un exemple de sous-ensemble sur un dataframe appelé debt
.
debt[3:6, ]
name payment
3 Dan 150
4 Rob 50
5 Rob 75
6 Rob 100
Ici, nous avons sélectionné les lignes 3 à 6 de debt
.
Votre chemin vers la maîtrise de R
Sélectionner des lignes à partir d'une colonne spécifique
Une autre chose à étudier est la simplification qui se produit lorsque vous sélectionnez une seule colonne. La sélection des trois premières lignes de la colonne payment
simplifie le résultat en un vecteur.
debt[1:3, 2]
100 200 150
Formatage des DataFrames
Pour le conserver sous forme de dataframe, il suffit d'ajouter drop=False
comme indiqué ci-dessous :
debt[1:3, 2, drop = FALSE]
payment
1 100
2 200
3 150
Sélection d'une colonne spécifique
Pour sélectionner une colonne spécifique, vous pouvez également taper le nom du DataFrame, suivi d'un $
, puis le nom de la colonne que vous cherchez à sélectionner. Dans cet exemple, nous sélectionnerons la colonne payment
de la base de données. Lors de l'exécution de ce script, R simplifiera le résultat sous forme de vecteur.
debt$payment
100 200 150 50 75 100
Utilisation de la fonction subset()
Si vous souhaitez créer des sous-ensembles plus complexes ou un sous-ensemble basé sur une condition, l'étape suivante consiste à utiliser la fonction subset(). Par exemple, si vous souhaitez consulter les dettes d'une personne nommée Dan. Vous pourriez simplement utiliser les parenthèses pour sélectionner leur dette et faire le total, mais ce n'est pas une façon très robuste de procéder, en particulier en cas de modifications potentielles de l'ensemble des données.
# This works, but is not informative
debt[1:3, ]
subset() sur une variable catégorielle
Une meilleure façon de procéder est d'utiliser la fonction subset()
pour sélectionner les lignes dont la colonne nom est égale à Dan. Notez qu'il doit s'agir d'un double signe égal, connu sous le nom d'opérateur relationnel.
# This works, but is not informative nor robust
debt[1:3, ]
# Much more informative!
subset(debt, name == "Dan")
name payment
1 Dan 100
2 Dan 200
3 Dan 150
subset() sur une variable numérique
Nous pouvons également effectuer des sous-ensembles sur des colonnes numériques. Si nous voulons voir les lignes où les paiements sont égaux à 100 $, vous devez procéder comme suit :
subset(debt, payment == 100)
name payment
1 Dan 100
6 Rob 100
Accès aux DataFrames et Sous-ensembles de données
Dans l'exemple suivant, que se passe-t-il si vous ne vous intéressez qu'aux flux de trésorerie de l'entreprise A ?
subset(cash, company == "A")
company cash_flow year
1 A 1000 1
2 A 4000 3
3 A 550 4
Rappelez-vous :
-
Le premier argument que vous transmettez à
subset()
est le nom de votre DataFrame,cash
. -
Notez que vous ne devez pas mettre
company
entre guillemets ! -
Le site
==
est l'opérateur d'égalité. Il teste l'égalité de deux choses et renvoie un vecteur logique.
Exemple interactif de la méthode subset()
Dans l'exemple ci-dessous, vous utiliserez la méthode subset()
pour sélectionner uniquement les lignes de cash
correspondant à l'entreprise B. Puis, subset()
lignes qui ont des flux de trésorerie dus dans 1 an.
# Rows about company B
subset(cash, company == "B")
# Rows with cash flows due in 1 year
subset(cash, year == 1)
Lorsque vous exécutez le code ci-dessus, vous obtenez le résultat suivant :
company cash_flow year
4 B 1500 1
5 B 1100 2
6 B 750 4
7 B 6000 5
company cash_flow year
1 A 1000 1
4 B 1500 1
Pour en savoir plus sur l'accès et le sous-ensemble des dataframes dans R, veuillez consulter cette vidéo de notre cours Introduction à R pour la finance.
Ce contenu est extrait du cours Introduction à R pour la finance de DataCamp par Lore Dirick.
Dernières réflexions sur le sous-ensemble
L'intérêt de R réside en partie dans le fait qu'il propose différentes méthodes pour effectuer des tâches similaires. Le sous-ensemble ne fait pas exception à la règle, les fonctions []
et subset()
accomplissant la même chose. Vous pouvez choisir entre les deux, selon que vous préférez un contrôle de bas niveau ou une simplicité de haut niveau.
Envisagez de faire progresser vos compétences grâce à notre cursus de carrière de scientifique en apprentissage automatique en R. Vous approfondirez votre compréhension des fonctionnalités de base de R, mais vous serez également équipé de techniques avancées pour résoudre les problèmes d'apprentissage automatique.