R语言 在R中改变一个给定的数据框架的列名

R语言 在R中改变一个给定的数据框架的列名

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

方法1:使用colnames()方法

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

数据框的列可以通过指定新的列名作为一个向量来重新命名。新的名称会取代数据框中相应的旧的列名。新的列向量的长度应该与原来的列数相等。对原始数据框进行更改。

语法

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

例子

# 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

输出

[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
Bash

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

输出

[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
Bash

1(B). 列名也可以通过使用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)
R

输出

[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
Bash

方法2:使用setNames()方法

R中的setNames()方法也可以用来给列表、向量或元组中的列分配新的名称。这些变化必须保存到原始数据框中,因为它们不会被保留。

语法

setnames(df, c(新列的名称))

处理方法

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

例子

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

输出

[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
Bash

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册