📜  在 R 中更改给定 DataFrame 的列名

📅  最后修改于: 2022-05-13 01:54:35.965000             🧑  作者: Mango

在 R 中更改给定 DataFrame 的列名

数据框是具有固定维度的表格结构,每行和每列。它是一个类似对象的二维数组,具有数字、基于字符或因子类型的数据。属于数据框的每个元素分别由行号和列号的唯一组合索引。列名称由唯一名称寻址。

方法一:使用 colnames() 方法

R 中的 colnames() 方法用于重命名和替换 R 中数据框的列名。

可以通过将新列名称指定为向量来重命名数据框的列。新名称将替换数据框中列的相应旧名称。新列向量的长度应等于原来的列数。对原始数据框进行了更改。

句法:

例子:

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(A) . 也可以使用相应列的位置索引重命名数据框的特定列。

句法:

方法

  • 创建数据框
  • 选择要按索引重命名的列
  • 提供一个合适的名字
  • 使用 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(乙)。也可以使用 which(names(df))函数替换列名,该函数搜索具有指定旧名称的列,然后将其替换为新的指定名称实例。

句法:

方法

  • 创建数据框
  • 选择要更改的列的名称
  • 提供一个合适的名字
  • 使用函数

例子:

电阻

# 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)

输出

方法二:使用 setNames() 方法

R 中的 setNames() 方法也可用于为列表、向量或元组中包含的列分配新名称。必须将更改保存回原始数据框,因为它们不会被保留。

句法:

方法

  • 创建数据框
  • 使用函数重命名列
  • 显示修改后的数据框

例子:

电阻

# 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)

输出