在 R 中更改给定 DataFrame 的列名
数据框是具有固定维度的表格结构,每行和每列。它是一个类似对象的二维数组,具有数字、基于字符或因子类型的数据。属于数据框的每个元素分别由行号和列号的唯一组合索引。列名称由唯一名称寻址。
方法一:使用 colnames() 方法
R 中的 colnames() 方法用于重命名和替换 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)
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)
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)
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 J NA NA
5 E 9.0 1
6
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
7 M 14.5 0
1(A) . 也可以使用相应列的位置索引重命名数据框的特定列。
句法:
colnames(df)[col_indx] <- “new_col_name_at_col_indx”
方法
- 创建数据框
- 选择要按索引重命名的列
- 提供一个合适的名字
- 使用 colnames()函数更改
例子:
电阻
# 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
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
7 M 14.5 0
1(乙)。也可以使用 which(names(df))函数替换列名,该函数搜索具有指定旧名称的列,然后将其替换为新的指定名称实例。
句法:
colnames(dataframe)[which(names(dataframe) == “oldColName”)] <- “newColName”
方法
- 创建数据框
- 选择要更改的列的名称
- 提供一个合适的名字
- 使用函数
例子:
电阻
# 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
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
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
5 M 14.5 0
方法二:使用 setNames() 方法
R 中的 setNames() 方法也可用于为列表、向量或元组中包含的列分配新名称。必须将更改保存回原始数据框,因为它们不会被保留。
句法:
setnames(df, c(names of new columns))
方法
- 创建数据框
- 使用函数重命名列
- 显示修改后的数据框
例子:
电阻
# 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
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
5 M 14.5 0