Изменить имя столбца данного DataFrame в R
Фрейм данных представляет собой табличную структуру с фиксированными размерами каждой строки и столбца. Это двумерный массив, подобный объекту, с числовыми, символьными или факторными данными. Каждый элемент, принадлежащий фрейму данных, индексируется уникальной комбинацией номера строки и столбца соответственно. Имена столбцов адресуются уникальными именами.
Способ 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