Как переименовать столбцы фрейма данных в 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"

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.