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