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

Ajouter un commentaire

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