Как переименовать столбцы фрейма данных в R


В этом руководстве объясняется, как переименовывать столбцы фрейма данных в R, используя различные подходы.

Для каждого из этих примеров мы будем работать со встроенным набором данных mtcars в R.

Переименование первых n столбцов с использованием базы R

Всего в mtcars 11 имен столбцов:

#view column names of mtcars
names(mtcars)

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

Чтобы переименовать первые 4 столбца, мы можем использовать следующий синтаксис:

#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 

Обратите внимание, что R начинается с имени первого столбца и просто переименовывает столько столбцов, сколько вы ему предоставляете. В этом примере, поскольку имеется 11 имен столбцов, а мы предоставили только 4 имени столбца, были переименованы только первые 4 столбца. Чтобы переименовать все 11 столбцов, нам нужно предоставить вектор из 11 имен столбцов.

ПереименованиеСтолбцы по имени с использованием базы R

Если мы хотим переименовать определенный столбец в наборе данных mtcars , например столбец «wt», мы можем сделать это по имени:

#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" 

Обратите внимание, что только столбец «вес» переименовывается в «вес», а все остальные столбцы сохраняют свои первоначальные имена.

ПереименованиеСтолбцы по индексу с использованием базы R

Мы также можем переименовать определенный столбец в наборе данных mtcars по индексу. Например, вот как переименовать второе имя столбца «cyl» по индексу:

#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"

Обратите внимание, что только столбец «cyl» переименовывается в «цилиндры», а все остальные столбцы сохраняют свои первоначальные имена.

ПереименованиеСтолбцы с использованием dplyr

Другой способ переименовать столбцы в R — использовать функцию rename() в пакете dplyr.Основной синтаксис для этого следующий:

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

Например, вот как переименовать имена столбцов «mpg» и «cyl» в наборе данных 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" 

Используя этот подход, вы можете переименовывать сразу столько столбцов, сколько хотите по имени.

ПереименованиеСтолбцы с использованием data.table

Еще один способ переименовать столбцы в R — использовать функцию setnames() в пакете data.table.Основной синтаксис для этого следующий:

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

Например, вот как переименовать имена столбцов «mpg» и «cyl» в наборе данных 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"

Используя этот подход, вы можете переименовывать сразу столько столбцов, сколько хотите по имени.