使用变量名列表重命名变量

时间:2019-06-18 14:34:04

标签: r

我有一个带有列名称的数据框:

  COL1     COL2
   10       5
   15       7

另一个具有一组更易于理解的变量的数据框:

Reference    Name
   COL1     Length
   COL2     Height 

有没有一种方法可以使用其他df引用重命名第一个df,从而为我提供:

Length   Height
  10       5
  15       7

1 个答案:

答案 0 :(得分:1)

我们可以使用

names(df1) <-  df2$Name[match(df2$Reference, names(df1))]
names(df1)
#[1] "Length" "Height"

数据

df1 <- structure(list(COL1 = c(10L, 15L), COL2 = c(5L, 7L)), class = "data.frame", row.names = c(NA, 
-2L))

df2 <- structure(list(Reference = c("COL1", "COL2"), Name = c("Length", 
"Height")), class = "data.frame", row.names = c(NA, -2L))