【问题标题】:Renaming columns in data frame by excel file R通过excel文件R重命名数据框中的列
【发布时间】:2021-06-05 11:37:50
【问题描述】:

我在 R 中有一个包含几列的数据框,例如 帮助1|帮助2|帮助3... 我有一个包含以下列的 excel 文件:

  • 旧名称新名称
  • help1 help_org
  • help2 help_fam
  • help3 help_friend

我希望 R 遍历 excel 文件,并根据 new_name 列重命名 DF 列名

help_org|help_fam|help_friend

【问题讨论】:

  • 如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example
  • 我明白了,很遗憾由于某种原因我没能把它放在一个列表中

标签: r excel dataframe rename


【解决方案1】:
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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    相关资源
    最近更新 更多