Изменить имя столбца данного DataFrame в R

Опубликовано: 5 Октября, 2022

Фрейм данных представляет собой табличную структуру с фиксированными размерами каждой строки и столбца. Это двумерный массив, подобный объекту, с числовыми, символьными или факторными данными. Каждый элемент, принадлежащий фрейму данных, индексируется уникальной комбинацией номера строки и столбца соответственно. Имена столбцов адресуются уникальными именами.

Способ 1: использование метода colnames()

Метод colnames() в R используется для переименования и замены имен столбцов фрейма данных в R.

Столбцы фрейма данных можно переименовать, указав новые имена столбцов в виде вектора. Новое имя заменяет соответствующее старое имя столбца во фрейме данных. Длина нового вектора-столбца должна быть эквивалентна исходному количеству столбцов. Изменения вносятся в исходный фрейм данных.

Синтаксис:

colnames(df) <- c(new_col1_name,new_col2_name,new_col3_name)

Пример:

R




# declaring the columns of data frame
df = data.frame(
col1 = c("A", "B", "C", "J", "E", NA,"M"),
col2 = c(12.5, 9, 16.5, NA, 9, 20, 14.5),
col3 = c(NA, 3, 2, NA, 1, NA, 0))
  
# printing original data frame
print("Original data frame : ")
print(df)
  
print("Renaming columns names ")
  
# assigning new names to the columns of the data frame
colnames(df) <- c("C1","C2","C3")
  
# printing new data frame
print("New data frame : ")
print(df)

Выход:

[1] “Original data frame : “

 col1 col2 col3

1    A 12.5   NA

2    B  9.0    3

3    C 16.5    2

4    J   NA   NA

5    E  9.0    1

6 <NA> 20.0   NA

7    M 14.5    0

[1] “Renaming columns names “

[1] “New data frame : “

   C1   C2 C3

1    A 12.5 NA

2    B  9.0  3

3    C 16.5  2

4    J   NA NA

5    E  9.0  1

6 <NA> 20.0 NA

7    M 14.5  0

1(A). Определенные столбцы фрейма данных также можно переименовать, используя индекс положения соответствующего столбца.

Синтаксис:

colnames(df)[col_indx] <- “new_col_name_at_col_indx”

Подход

  • Создать фрейм данных
  • Выберите столбец, который нужно переименовать по индексу
  • Укажите подходящее имя
  • Изменить с помощью функции colnames()

Пример:

R




# declaring the columns of data frame
df = data.frame(
col1 = c("A", "B", "C", "J", "E", NA,"M"),
col2 = c(12.5, 9, 16.5, NA, 9, 20, 14.5),
col3 = c(NA, 3, 2, NA, 1, NA, 0))
  
# printing original data frame
print("Original data frame : ")
print(df)
  
print("Renaming columns names ")
  
# assigning the second column name to a new name
colnames(df)[2] <- "new_col2"
  
# printing new data frame
print("New data frame : ")
print(df)

Выход:

[1] “Original data frame : “

 col1 col2 col3

1    A 12.5   NA

2    B  9.0    3

3    C 16.5    2

4    J   NA   NA

5    E  9.0    1

6 <NA> 20.0   NA

7    M 14.5    0

[1] “Renaming columns names “

[1] “New data frame : “

 col1 new_col2 col3

1    A     12.5   NA

2    B      9.0    3

3    C     16.5    2

4    J       NA   NA

5    E      9.0    1

6 <NA>     20.0   NA

7    M     14.5    0

1(Б). Имена столбцов также можно заменить с помощью функции which(names(df)) , которая ищет столбец с указанным старым именем, а затем заменяет его новым экземпляром указанного имени.

Синтаксис:

colnames(dataframe)[which(names(dataframe) == “oldColName”)] <- “newColName”

Подход

  • Создать фрейм данных
  • Выберите имя столбцов, которые нужно изменить
  • Укажите подходящее имя
  • Используйте функцию

Пример:

R




# declaring the columns of data frame
df = data.frame(
col1 = c("A", "B", "C", NA,"M"),
col2 = c(12.5, 9, 16.5,  20, 14.5),
col3 = c(NA, 3, 2, NA, 0))
  
# printing original data frame
print("Original data frame : ")
print(df)
  
print("Renaming columns names ")
# assigning the second column name to a new name
  
colnames(df)[2] <- "new_col2"
  
# printing new data frame
print("After changing the data frame col2 name : ")
print(df)
  
# replacing first column name
colnames(df)[which(names(df) == "col1")] <- "new_col1"
  
# printing new data frame
print("After changing the data frame col1 name : ")
print(df)

Выход

[1] “Original data frame : “

 col1 col2 col3

1    A 12.5   NA

2    B  9.0    3

3    C 16.5    2

4 <NA> 20.0   NA

5    M 14.5    0

[1] “Renaming columns names “

[1] “After changing the data frame col2 name : “

 col1 new_col2 col3

1    A     12.5   NA

2    B      9.0    3

3    C     16.5    2

4 <NA>     20.0   NA

5    M     14.5    0

[1] “After changing the data frame col1 name : “

 new_col1 new_col2 col3

1        A     12.5   NA

2        B      9.0    3

3        C     16.5    2

4     <NA>     20.0   NA

5        M     14.5    0

Способ 2: использование метода setNames()

Метод setNames() в R также можно использовать для присвоения новых имен столбцам, содержащимся в списке, векторе или кортеже. Изменения должны быть сохранены в исходном фрейме данных, потому что они не сохраняются.

Синтаксис:

setnames(df, c(names of new columns))

Подход

  • Создать фрейм данных
  • Переименовать столбец с помощью функции
  • Показать измененный фрейм данных

Пример:

R




# declaring the columns of data frame
df = data.frame(
col1 = c("A", "B", "C", NA,"M"),
col2 = c(12.5, 9, 16.5,  20, 14.5),
col3 = c(NA, 3, 2, NA, 0))
  
# printing original data frame
print("Original data frame : ")
print(df)
  
# print("Renaming columns names ")
# renaming all the column names of data frame
df <- setNames(df, c("changed_Col1","changed_Col2","changed_Col3"))
  
print("Renamed data frame : ")
print(df)

Выход

[1] “Original data frame : “

  col1 col2 col3

1    A 12.5   NA

2    B  9.0    3

3    C 16.5    2

4 <NA> 20.0   NA

5    M 14.5    0

[1] “Renamed data frame : “

  changed_Col1 changed_Col2 changed_Col3

1            A         12.5           NA

2            B          9.0            3

3            C         16.5            2

4         <NA>         20.0           NA

5            M         14.5            0