根据引用键重命名数据框中的列

时间:2017-09-21 15:03:18

标签: dataframe names

假设我有一个简单的数据框:

df <- data.frame("one"= c(1:5), "two" = c(6:10), "three" =c(7:11))

我想重命名我的列名,以便它们与引用匹配 让我的参考如下:

df2 <- data.frame("Name" = c("A", "B", "C"), "Oldname" = c("one", "two", "three"))

我如何将df中的列名替换为来自df2的列名,如果它们与那里的匹配(那么df中的列名是:A,B C)?

在我的原始数据中,df2更大,我有多个数据集,例如df,因此为了使解决方案起作用,代码应该尽可能通用。提前致谢!

1 个答案:

答案 0 :(得分:1)

我们可以使用此处的match函数将新名称映射到旧名称:

names(df) <- df2$Name[match(names(df), df2$Oldname)]
names(df)
[1] "A" "B" "C"

Demo