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

4
我有一个数据框,其中包含一组列名("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$Old,在colnames(df)中查找匹配项,并用new.names$New中的相应内容替换colnames(df)。这基本上是Excel的vlookup函数的一种变体。 谢谢。
1个回答

4
您可以使用match来完成此操作。
colnames(df) = new.names$New[match(colnames(df), new.names$Old)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接