Как переименовать колонку в r studio
Перейти к содержимому

Как переименовать колонку в r studio

  • автор:

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

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

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

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

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

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

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

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

#rename the second column name in mtcars names(mtcars)[2]  

Обратите внимание, что только столбец «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)) #rename the "mpg" and "cyl" columns new_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)) #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" 

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

Как переименовать объект в R (с примерами)

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

new_name  

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

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: переименовать объект в R

Предположим, у нас есть следующий фрейм данных с именем my_data в R:

#create data frame some_data  

Мы можем использовать оператор присваивания, чтобы переименовать этот фрейм данных в new_data :

#rename data frame new_data  

Обратите внимание, что теперь мы можем ввести new_data для просмотра этого фрейма данных.

Однако важно отметить, что старое имя some_data по-прежнему можно использовать для ссылки на этот фрейм данных:

#view data frame some_data x y z 1 3 3 1 2 4 8 2 3 4 7 2 4 5 10 6 5 9 4 7 

Чтобы удалить это имя из нашей среды R, мы можем использовать функцию rm() :

#remove old name of data frame rm(some_data) 

Теперь, если мы попытаемся использовать старое имя, объект больше не будет находиться в нашей среде:

#attempt to use old name to view data frame some_data Error: object 'some_data' not found 

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Урок 1 Функции select(), rename_with() и relocate()

Первый урок курса посвящён таким операциям, как продвинутый выбор столбцов, их переименование и изменения порядка столбцов таблицы.

В этом видео уроке мы познакомимся с такими функциями как: select() , rename_with() , relocate() , any_of() , all_of() .

1.2 Видео

1.3 Код

#devtools::install_github("tidyverse/dplyr") library(dplyr, warn.conflicts = FALSE) # rename # Переименовать столбцы для устранение дублирования их имён df1  tibble(a = 1:5, a = 5:1, .name_repair = "minimal") df1 df1 %>% rename(b = 2) # select # обращение к столбцам по типу df2  tibble(x1 = 1, x2 = "a", x3 = 2, y1 = "b", y2 = 3, y3 = "c", y4 = 4) # числовые столбцы df2 %>% select(is.numeric) # НЕ текстовые столбцы df2 %>% select(!is.character) # смешанный тип обращения # числовые стобцы, название которых начинается на X df2 %>% select(starts_with("x") & is.numeric) # выбор полей с помощью функций any_of и all_of vars  c("x1", "x2", "y1", "z") df2 %>% select(any_of(vars)) df2 %>% select(all_of(vars)) # функция rename_with df2 %>% rename_with(toupper) df2 %>% rename_with(toupper, starts_with("x")) df2 %>% rename_with(toupper, is.numeric) # relocate для изменения порядка стобцов df3  tibble(w = 0, x = 1, y = "a", z = "b") # переместить столбцы y, z в начало df3 %>% relocate(y, z) # переместить текстовые столбцы вначало df3 %>% relocate(is.character) # поместить столбец w после y df3 %>% relocate(w, .after = y) # поместить столбец w перед y df3 %>% relocate(w, .before = y) # переместить w в конец df3 %>% relocate(w, .after = last_col())

1.4 Упражнения

Для примера мы будем использовать встроенный набор данных iris , выполните следующие действия:

  1. Выберите все столбцы, которые заканчиваются на Width .
  2. Переместите с помощью функции relocate() единственный текстовый столбец в левую часть таблицы.
  3. Замените с помощью функции rename_with() в названии столбцов точку на нижнее подчёркивание, и преобразуйте имена в нижний регистр.

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

У меня есть датафрейм с 4 столбцами, в котором один из столбцов содержит данные, допустим, a, b, c, d, e. Всего 582 строки с этими значениями. Мне нужно заменить в последнем столбце "a" и "b" на 1, а "c", "d", "e" на 0 и создать новый шестой столбец, в котором присутствуют только эти 0 и 1 (для последующей логистической регрессии). Как я могу это сделать? Дали подсказку, что можно с помощью dplyr, но пока нет представления.

Нужно создать столбец Е, где заменить значения из столбца D на 0 и 1 так что: a, b = 1; c, d, e = 0 чтобы получилось так:

 A B C D E R1 3 1 2 a 1 R2 2 2 1 c 0 R3 1 3 4 c 0 R4 4 3 5 e 0 R5 5 4 2 d 0 R6 3 1 1 b 1 R7 4 4 3 a 1 R8 2 2 2 b 1 

Отслеживать
задан 29 окт 2021 в 15:46
57 6 6 бронзовых знаков

Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *