Comment renommer les colonnes du bloc de données dans R



Ce didacticiel explique comment renommer les colonnes du bloc de données dans R en utilisant diverses approches différentes.

Pour chacun de ces exemples, nous travaillerons avec l’ensemble de données intégré mtcars dans R.

Renommer les n premières colonnes à l’aide de Base R

Il y a un total de 11 noms de colonnes dans mtcars :

#view column names of mtcars
names(mtcars)

# [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
# [11] "carb"

Pour renommer les 4 premières colonnes, on peut utiliser la syntaxe suivante :

#rename first 4 columns
names(mtcars) <- c("miles_gallon", "cylinders", "display", "horsepower")
names(mtcars)

#[1] "miles_gallon" "cylinders" "display" "horsepower" NA 
#[6]  NA             NA          NA        NA          NA 
#[11] NA 

Notez que R commence par le nom de la première colonne et renomme simplement autant de colonnes que vous lui fournissez. Dans cet exemple, comme il y a 11 noms de colonnes et que nous n’avons fourni que 4 noms de colonnes, seules les 4 premières colonnes ont été renommées. Pour renommer les 11 colonnes, nous aurions besoin de fournir un vecteur de 11 noms de colonnes.

Renommer   Colonnes par nom utilisant Base R

Si nous voulons renommer une colonne spécifique dans l’ensemble de données mtcars , comme la colonne « wt », nous pouvons le faire par son nom :

#rename just the "wt" column in mtcars
names(mtcars)[names(mtcars)=="wt"] <- "weight"
names(mtcars)

#[1] "mpg" "cyl" "disp" "hp" "drat" "weight" "qsec" "vs" 
#[9] "am" "gear" "carb" 

Remarquez que seule la colonne « poids » est renommée en « poids » et que toutes les autres colonnes conservent leurs noms d’origine.

Renommer   Colonnes par index utilisant Base R

Nous pouvons également renommer une colonne spécifique dans l’ensemble de données mtcars par index. Par exemple, voici comment renommer le nom de la deuxième colonne « cyl » par index :

#rename the second column name in mtcars
names(mtcars)[2] <- "cylinders"
names(mtcars)

# [1] "mpg" "cylinders" "disp" "hp" "drat" "wt" 
# [7] "qsec" "vs" "am" "gear" "carb"

Remarquez que seule la colonne « cyl » est renommée en « cylindres » et que toutes les autres colonnes conservent leurs noms d’origine.

Renommer   Colonnes utilisant dplyr

Une autre façon de renommer des colonnes dans R consiste à utiliser la fonction rename() dans le package dplyr . La syntaxe de base pour ce faire est la suivante :

data %>% rename(new_name1 = old_name1, new_name2 = old_name2, ....)

Par exemple, voici comment renommer les noms de colonnes « mpg » et « cyl » dans l’ensemble de données mtcars :

#install (if not already installed) and load dplyr package
if(!require(dplyr)){install.packages('dplyr')}

#rename the "mpg" and "cyl" columns
new_mtcars <- mtcars %>% 
                rename(
                  miles_g = mpg,
                  cylinder = cyl
                  )

#view new column names
names(new_mtcars)

# [1] "miles_g" "cylinder" "disp" "hp" "drat" "wt" 
# [7] "qsec" "vs" "am" "gear" "carb" 

En utilisant cette approche, vous pouvez renommer simultanément autant de colonnes que vous le souhaitez.

Renommer   Colonnes utilisant data.table

Une autre façon de renommer des colonnes dans R consiste à utiliser la fonction setnames() dans le package data.table . La syntaxe de base pour ce faire est la suivante :

setnames(data, old=c("old_name1","old_name2"), new=c("new_name1", "new_name2"))

Par exemple, voici comment renommer les noms de colonnes « mpg » et « cyl » dans l’ensemble de données mtcars :

#install (if not already installed) and load data.table package
if(!require(data.table)){install.packages('data.table')}

#rename "mpg" and "cyl" column names in mtcars
setnames(mtcars, old=c("mpg","cyl"), new=c("miles_g", "cylinder"))

#view new column names
names(mtcars)

#[1] "miles_g" "cylinder" "disp" "hp" "drat" "wt" 
#[7] "qsec" "vs" "am" "gear" "carb"  

En utilisant cette approche, vous pouvez renommer simultanément autant de colonnes que vous le souhaitez.

Ajouter un commentaire

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