我有一个包含一组列名的数据框(" 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)
的匹配项,然后将colnames(df)
与new.names$New
中的内容进行交换。它基本上是excel的vlookup的变种。
谢谢。
答案 0 :(得分:4)
您可以使用match
colnames(df) = new.names$New[match(colnames(df), new.names$Old)]