R : Comment trouver la première ligne qui répond aux critères
Vous pouvez utiliser les méthodes suivantes pour rechercher la première ligne d’un bloc de données dans R qui répond à des critères spécifiques :
Méthode 1 : trouver la première ligne qui répond à un critère
#get first row where value in 'team' column is equal to 'B' df[which(df$team=='B', arr.ind=TRUE)[1],]
Méthode 2 : trouver la première ligne qui répond à plusieurs critères
#get first row where 'points' column > 15 and 'assists' column > 10 df[which(df$points>15 & df$assists>10, arr.ind = TRUE)[1],]
Méthode 3 : Trouver la première ligne qui répond à l’un des nombreux critères
#get first row where 'points' column > 15 or 'assists' column > 10 df[which(df$points>15 | df$assists>10, arr.ind = TRUE)[1],]
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :
#create data frame df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'), points=c(18, 13, 19, 14, 24, 21, 20, 28), assists=c(5, 7, 17, 9, 12, 9, 5, 12)) #view data frame df team points assists 1 A 18 5 2 A 13 7 3 A 19 17 4 B 14 9 5 B 24 12 6 C 21 9 7 C 20 5 8 C 28 12
Exemple 1 : Rechercher la première ligne qui répond à un critère
Nous pouvons utiliser la syntaxe suivante pour trouver la première ligne où la valeur dans la colonne équipe est égale à « B » :
#find first row where team is equal to 'B' df[which(df$team=='B', arr.ind=TRUE)[1],] team points assists 4 B 14 9
Nous pouvons voir que la première ligne où la valeur dans la colonne équipe est égale à « B » est la quatrième ligne du bloc de données.
Exemple 2 : Rechercher la première ligne qui répond à plusieurs critères
Nous pouvons utiliser la syntaxe suivante pour trouver la première ligne où la valeur dans la colonne des points est supérieure à 15 et la valeur dans la colonne des passes décisives est supérieure à 10 :
#find first row where points > 15 and assists > 10 df[which(df$points>15 & df$assists>10, arr.ind = TRUE)[1],] team points assists 3 A 19 17
Nous pouvons voir que la première ligne où la valeur dans la colonne des points est supérieure à 15 et la valeur dans la colonne des passes décisives est supérieure à 10 est la troisième ligne du bloc de données.
Exemple 3 : Rechercher la première ligne qui répond à l’un des nombreux critères
Nous pouvons utiliser la syntaxe suivante pour trouver la première ligne où la valeur dans la colonne des points est supérieure à 15 ou la valeur dans la colonne des passes décisives est supérieure à 10 :
#find first row where points > 15 or assists > 10 df[which(df$points>15 | df$assists>10, arr.ind = TRUE)[1],] team points assists 1 A 18 5
Nous pouvons voir que la première ligne où la valeur dans la colonne des points est supérieure à 15 ou la valeur dans la colonne des passes décisives est supérieure à 10 est la première ligne du bloc de données.
Remarque : Les opérateurs & et | représentent « et » et « ou » dans R, respectivement.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment trouver la valeur maximale dans chaque ligne dans R
Comment calculer la valeur médiane des lignes dans R
Comment trouver des lignes uniques sur plusieurs colonnes dans R