用excel文件r重命名数据框中的列



我在R中有一个数据框架,其中有几列,例如:help1 | help2 | help3……我有一个excel文件与以下列:

  • old_name new_name
  • help1 help_org
  • help2 help_fam
  • help3 help_friend

我想让R遍历excel文件,并根据new_name列重命名DF colnames

help_org | help_fam | help_friend

names(df) <- ref_df$new_name[match(names(df), ref_df$old_name)]
df
#     help_org   help_fam help_friend
#1 -0.56047565  1.7150650   1.2240818
#2 -0.23017749  0.4609162   0.3598138
#3  1.55870831 -1.2650612   0.4007715
#4  0.07050839 -0.6868529   0.1106827
#5  0.12928774 -0.4456620  -0.5558411

其中ref_df为excel文件中的数据,该文件有两列(old_namenew_name)。

ref_df <- readr::read_excel('excel_data.xlsx')

df是您更改列名的原始数据。

在本例中,我使用的数据如下:

set.seed(123)
df <- data.frame(help1 = rnorm(5), help2 = rnorm(5), help3 = rnorm(5))
ref_df <- structure(list(old_name = c("help1", "help2", "help3"), 
new_name = c("help_org", "help_fam", "help_friend")), 
class = "data.frame", row.names = c(NA, -3L))

最新更新