Accéder au contenu principal

Tutoriel sur le sous-ensemble dans R

Découvrez comment accéder aux données de votre DataFrame à l'aide du subsetting. Apprenez à faire des sous-ensembles en utilisant des parenthèses ou en utilisant la fonction subset() de R.
Actualisé 2 déc. 2024  · 4 min de lecture

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

Partez de zéro et développez vos compétences R pour la science des données.
Commencez À Apprendre Gratuitement

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

Essayez-le vous-même.

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.

Sujets

R Cours

Certification disponible

cours

Introduction à R

4 hr
2.8M
Maîtrisez les bases de l'analyse de données en R, y compris les vecteurs, les listes et les cadres de données, et pratiquez R avec des ensembles de données réels.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow