Comment sous-ensembler une trame de données dans R (4 exemples)
Vous pouvez utiliser la syntaxe de base suivante pour sous-ensembler un bloc de données dans R :
df[rows, columns]
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le bloc de données suivant :
#create data frame df <- data.frame(team=c('A', 'A', 'B', 'B', 'C', 'C', 'C'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 C 97 14
Exemple 1 : bloc de données de sous-ensemble en sélectionnant des colonnes
Le code suivant montre comment sous-ensembler un bloc de données par noms de colonnes :
#select all rows for columns 'team' and 'assists'
df[ , c('team', 'assists')]
team assists
1 A 19
2 A 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
Nous pouvons également sous-ensembler un bloc de données par valeurs d’index de colonne :
#select all rows for columns 1 and 3
df[ , c(1, 3)]
team assists
1 A 19
2 A 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
Exemple 2 : bloc de données de sous-ensemble en excluant les colonnes
Le code suivant montre comment sous-ensembler un bloc de données en excluant des noms de colonnes spécifiques :
#define columns to exclude
cols <- names(df) %in% c('points')
#exclude points column
df[!cols]
team assists
1 A 19
2 A 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
Nous pouvons également exclure des colonnes en utilisant des valeurs d’index
#exclude column 2
df[ , c(-2)]
team assists
1 A 19
2 A 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
Exemple 3 : bloc de données de sous-ensemble en sélectionnant des lignes
Le code suivant montre comment sous-ensembler un bloc de données par lignes spécifiques :
#select rows 1, 5, and 7 df[c(1, 5, 7), ] team points assists 1 A 77 19 5 C 99 32 7 C 97 14
Nous pouvons également sous-ensembler un bloc de données en sélectionnant une plage de lignes :
#select rows 1 through 5 df[1:5, ] team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32
Exemple 4 : trame de données de sous-ensemble basée sur des conditions
Le code suivant montre comment utiliser la fonction subset() pour sélectionner des lignes et des colonnes qui remplissent certaines conditions :
#select rows where points is greater than 90
subset(df, points > 90)
team points assists
5 C 99 32
6 C 92 39
7 C 97 14
Nous pouvons également utiliser le | Opérateur (« ou ») pour sélectionner les lignes qui remplissent l’une des conditions suivantes :
#select rows where points is greater than 90 or less than 80
subset(df, points > 90 | points < 80)
team points assists
1 A 77 19
5 C 99 32
6 C 92 39
7 C 97 14
Nous pouvons également utiliser l’opérateur & (« et ») pour sélectionner des lignes qui remplissent plusieurs conditions :
#select rows where points is greater than 90 and assists is greater than 30
subset(df, points > 90 & assists > 30)
team points assists
5 C 99 32
6 C 92 39
Nous pouvons également utiliser l’argument select pour sélectionner uniquement certaines colonnes en fonction d’une condition :
#select rows where points is greater than 90 and only show 'team' column
subset(df, points > 90, select=c('team'))
team
5 C
6 C
7 C
Ressources additionnelles
Comment supprimer des lignes du bloc de données dans R en fonction de la condition
Comment remplacer les valeurs dans le bloc de données dans R
Comment supprimer des colonnes du bloc de données dans R