使用正则表达式更改列名称

时间:2016-02-14 11:13:25

标签: r

我有五个名为感官的栏目.1。,感官.2。,感官。等等在称为“df”的数据框中。我想将它们重命名为organoleptic1,organoleptic2,organoleptic3等。也就是说,我想删除数字周围的两个点。我是使用名称功能完成的:

names(df)[names(df) == "organoleptic.1."] <- "organoleptic1"
names(df)[names(df) == "organoleptic.2."] <- "organoleptic2"
names(df)[names(df) == "organoleptic.3."] <- "organoleptic3"
names(df)[names(df) == "organoleptic.4."] <- "organoleptic4"
names(df)[names(df) == "organoleptic.5."] <- "organoleptic5"

但是,我想只需输入一行代码即可。是否可以使用正则表达式或任何其他技巧来做到这一点?很多人!

1 个答案:

答案 0 :(得分:6)

我们可以尝试使用gsub函数。修改:已从sub固定为gsub

colnames(df) <- gsub('.', '', colnames(df), fixed=TRUE)