0

我有五个 excel 文件,每个文件 2 张。

-file_2015:a,b

-file_2016:a,b

-file_2017:a,b

-file_2018:a,b

随着时间的推移,表格 a 和 b 都提供相同的数据。 它们的列数不同,因为新的指标被添​​加到较旧的文件中不存在的较新文件中。

列名略有变化,我想通过将这些数据附加在一起来合并这些数据。

类似的变量名称示例:

-指标评级 - 单位级别,第三年获得 5 分的百分比

- 公制评级 - 第 3 年 5 学分 - 单位级别

我遇到的其他问题是来自不同文件的相同指标已用相应年份命名。例如:

- 2016 年的目标 - 毕业率,6 年

- 2017 年目标 - 6 年毕业率

尽管它们是相同的数据指示器,但在附加数据时会生成两列。

目前,我正在使用此功能读取所有 excel 文件并将每个工作表数据附加在一起作为一个数据框。

df<-list.files(path = filepath_raw_data, full.names = TRUE, pattern = "*.xlsx") %>%
    #Keetping the names of the filepath as a data columns
  set_names(nm = (basename(.) %>% tools::file_path_sans_ext())) %>%
  map_df(readxl::read_excel, sheet=sheet_name, col_types = "text",  .id="file_name")

有什么方法可以使用模式匹配将相似的列名匹配在一起并将数据附加在一起?

4

0 回答 0