通过在另一个数据框中查找新名称来更改列名称

时间:2017-04-26 14:43:55

标签: r dataframe

我有一个包含一组列名的数据框(" A"," B"):

df <- data.frame(A=c(1,2), B=c(1,3))

我想用新的列名交换列名,这些新名称在新的数据框中提供:

new.names <- data.frame(Old=c("A","B"), New=c("C","D"))

我希望R浏览new.names$Oldcolnames(df)的匹配项,然后将colnames(df)new.names$New中的内容进行交换。它基本上是excel的vlookup的变种。 谢谢。

1 个答案:

答案 0 :(得分:4)

您可以使用match

执行此操作
colnames(df) = new.names$New[match(colnames(df), new.names$Old)]