R语言 如何在R数据框架中为列名添加后缀

R语言 如何在R数据框架中为列名添加后缀

数据框架中的每一列都是由一个名称定义的,称为列名。它可以是数字或字符串值的类型。在这篇文章中,我们将讨论如何在R编程语言中为DataFrame的列名添加后缀。

方法1:使用paste方法

为了修改列名,可以使用R语言中的粘贴函数。paste()方法可用于将字符串向量连接在一起,形成一个更大的字符串或句子。字符串向量参数使用粘贴函数中指定的分隔符进行连接。这些变化必须被保存到原始字符串中,而不会被单独保留。字符串按照方法中指定的顺序进行连接。如果我们在一个R列表对象上指定该方法,那么该方法将连续应用于每个字符串。

语法: paste( colnames(df), suffix1, suffix2 , sep=)

参数

  • colnames(df) – 数据框架的列名
  • suffix – 后缀字符串,将被添加到每个列名中
  • sep – 字符串之间使用的分隔符

例子

# declare data frame 
df <- data.frame(c1=c(1,2,4), c2=c("Ab","Cd","Ef"),
                 c3=c(0.1,0.2,0.3))
  
print("Original DataFrame : ")
print(df)
  
print("Original col names")
print(colnames(df))
  
# adding suffix to column names 
colnames(df) <- paste(colnames(df),"new",sep="_")
  
print("New DataFrame : ")
print(df)
  
print("New col names")
print(colnames(df))

输出

[1] "Original DataFrame : "
 c1 c2  c3
1  1 Ab 0.1
2  2 Cd 0.2
3  4 Ef 0.3
[1] "Original col names"
[1] "c1" "c2" "c3"
[1] "New DataFrame : "
 c1_new c2_new c3_new
1      1     Ab    0.1
2      2     Cd    0.2
3      4     Ef    0.3
[1] "New col names"
[1] "c1_new" "c2_new" "c3_new"

通过在方法定义中指定两个以上的参数字符串,也可以为列名添加多个后缀。

例子

# declaring a data frame
df <- data.frame(First = c(1,2,3,4) ,
                 Second = c("a","ab","cv","dsd"),
                 Third=c(7:10))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original colnames of 
# data frame
original_cols <- colnames(df)
print ("Original column names ")
print (original_cols)
  
# adding suffix using the paste
# function in R
colnames(df) <- paste(original_cols,"1","modified",sep="-")
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)

输出

[1] "Original DataFrame : "
 First Second Third
1     1      a     7
2     2     ab     8
3     3     cv     9
4     4    dsd    10
[1] "Original column names "
[1] "First"  "Second" "Third"
[1] "Modified DataFrame : "
 First-1-modified Second-1-modified Third-1-modified
1                1                 a                7
2                2                ab                8
3                3                cv                9
4                4               dsd               10

方法2:使用paste0()方法

paste0方法在功能上与paste方法完全相同,但它没有提供在字符串参数之间自定义分隔符的功能。它自动折叠字符串参数,并将它们连接起来,产生一个没有任何空格的大字符串。使用这种方法也可以添加多个后缀。如果我们在一个R列表对象上指定该方法,该方法会连续应用于每个字符串。

语法: paste0( colnames(df), suffix1, suffix2 )

参数:

  • colnames(df) – 数据框架的列名
  • suffix1… – 后缀字符串,将被添加到每个列名中。这些字符串用sep=””连接起来。

例子

# declaring a data frame
df <- data.frame(c1 = c(1,2,3,4) , 
                 c2 = c("a","ab","cv","dsd"))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original colnames of 
# data frame
original_cols <- colnames(df)
print ("Original column names ")
print (original_cols)
  
# adding suffix using the paste0 
# function in R
colnames(df) <- paste0(original_cols,"changed")
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)

输出

[1] "Original DataFrame : "
 c1  c2
1  1   a
2  2  ab
3  3  cv
4  4 dsd
[1] "Original column names "
[1] "c1" "c2"
[1] "Modified DataFrame : "
 c1changed c2changed
1         1         a
2         2        ab
3         3        cv
4         4       dsd

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程