Мы можем использовать
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))