Comment définir la colonne du bloc de données comme index dans R (avec exemple)
Les trames de données dans R n’ont pas de colonne « index » comme le pourraient les trames de données dans les pandas.
Cependant, les trames de données dans R ont des noms de lignes , qui agissent de la même manière qu’une colonne d’index.
Vous pouvez utiliser l’une des méthodes suivantes pour définir une colonne de bloc de données existante comme noms de ligne pour un bloc de données dans R :
Méthode 1 : définir les noms de lignes à l’aide de Base R
#set specific column as row names rownames(df) <- df$my_column #remove original column from data frame df$my_column <- NULL
Méthode 2 : définir les noms de lignes à l’aide du package Tidyverse
library(tidyverse) #set specific column as row names df <- df %>% column_to_rownames(., var = 'my_column')
Méthode 3 : définir les noms de lignes lors de l’importation de données
#import CSV file and specify column to use as row names df <- read.csv('my_data.csv', row.names='my_column')
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : définir les noms de lignes à l’aide de Base R
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame
df <- data.frame(ID=c(101, 102, 103, 104, 105),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data frame
df
ID points assists rebounds
1 101 99 33 30
2 102 90 28 28
3 103 86 31 24
4 104 88 39 24
5 105 95 34 28
Nous pouvons utiliser le code suivant pour définir la colonne ID comme noms de lignes :
#set ID column as row names
rownames(df) <- df$ID
#remove original ID column from data frame
df$ID <- NULL
#view updated data frame
df
points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28
Les valeurs de la colonne ID sont désormais les noms de lignes du bloc de données.
Exemple 2 : définir les noms de lignes à l’aide du package Tidyverse
Le code suivant montre comment utiliser la fonction column_to_rownames() du package spiceverse pour définir les noms de lignes égaux à la colonne ID dans le bloc de données :
library(tidyverse)
#create data frame
df <- data.frame(ID=c(101, 102, 103, 104, 105),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set ID column as row names
df <- df %>% column_to_rownames(., var = 'ID')
#view updated data frame
df
points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28
Notez que ce résultat correspond à celui de l’exemple précédent.
Exemple 3 : définir les noms de lignes lors de l’importation de données
Supposons que nous ayons le fichier CSV suivant appelé my_data.csv :
Nous pouvons utiliser le code suivant pour importer le fichier CSV et définir les noms de lignes pour qu’ils soient égaux à la colonne ID lors de l’importation :
#import CSV file and specify ID column to use as row names df <- read.csv('my_data.csv', row.names='ID') #view data frame df points assists rebounds 101 99 33 30 102 90 28 28 103 86 31 24 104 88 39 24 105 95 34 28
Notez que les valeurs de la colonne ID sont utilisées comme noms de lignes dans le bloc de données.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
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