Comment sous-ensembler une trame de données dans R selon plusieurs conditions



Vous pouvez utiliser les méthodes suivantes pour sous-définir un bloc de données selon plusieurs conditions dans R :

Méthode 1 : trame de données de sous-ensemble utilisant la logique « OU »

df_sub <- subset(df, team == 'A' | points < 20)

Cet exemple particulier sous-ensemblera le bloc de données pour les lignes où la colonne d’équipe est égale à « A » ou la colonne de points est inférieure à 20.

Méthode 2 : trame de données de sous-ensemble utilisant la logique « ET »

df_sub <- subset(df, team == 'A' & points < 20)

Cet exemple particulier sous-ensemblera le bloc de données pour les lignes où la colonne d’équipe est égale à « A » et la colonne de points est inférieure à 20.

Ce tutoriel explique comment utiliser chaque méthode en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Forward'),
                 points=c(22, 25, 19, 22, 12, 35))

#view data frame
df

  team position points
1    A    Guard     22
2    A    Guard     25
3    A  Forward     19
4    B    Guard     22
5    B  Forward     12
6    B  Forward     35

Exemple 1 : trame de données de sous-ensemble utilisant la logique « OU »

Le code suivant montre comment sous-ensembler le bloc de données pour les lignes où la colonne d’équipe est égale à « A » ou la colonne de points est inférieure à 20 :

#subset data frame where team is 'A' or points is less than 20
df_sub <- subset(df, team == 'A' | points < 20)

#view subset
df_sub

  team position points
1    A    Guard     22
2    A    Guard     25
3    A  Forward     19
5    B  Forward     12

Chacune des lignes du sous-ensemble a soit une valeur de « A » dans la colonne de l’équipe , soit une valeur dans la colonne des points inférieure à 20.

Remarque : Le | le symbole représente « OU » dans R.

Dans cet exemple, nous n’avons inclus qu’un seul symbole « OU » dans la fonction subset() mais nous pourrions en inclure autant que nous le souhaitons pour sous-ensembler en fonction d’encore plus de conditions.

Exemple 2 : trame de données de sous-ensemble utilisant la logique « ET »

Le code suivant montre comment sous-ensembler le bloc de données pour les lignes où la colonne d’équipe est égale à « A » et la colonne de points est inférieure à 20 :

#subset data frame where team is 'A' and points is less than 20
df_sub <- subset(df, team == 'A' & points < 20)

#view subset
df_sub

  team position points
3    A  Forward     19

Notez que le sous-ensemble résultant ne contient qu’une seule ligne.

En effet, une seule ligne a une valeur « A » dans la colonne des équipes et une valeur dans la colonne des points inférieure à 20.

Remarque : Le symbole & représente « ET » dans R.

Dans cet exemple, nous n’avons inclus qu’un seul symbole « ET » dans la fonction subset() mais nous pourrions en inclure autant que nous le souhaitons pour sous-ensembler en fonction d’encore plus de conditions.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment sélectionner des lignes uniques dans un bloc de données dans R
Comment sélectionner des lignes avec des valeurs NA dans R
Comment sélectionner des lignes en fonction des valeurs du vecteur dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *