将 Excel 中的特定选项卡读入 R

Read in Specific Tabs from Excel into R

我正在尝试将 excel 文件中的一堆选项卡读入 R。问题是我只需要部分选项卡,而不是全部。当我尝试 select 某些列时,出现错误,因为我不想读入的选项卡不包含我想要的 x1:x4 列。我当前的代码如下。

file.list <- "C:/Users/xxxx/Documents/file.xlsx"

df.list <- lapply(file.list,function(x) {
  sheets <- excel_sheets(x)
  dfs <- lapply(sheets, function(y) {
    read_excel(x, sheet = y, skip = 5) %>% 
      clean_names() %>% 
      select(x1:x4)
  })
  names(dfs) <- sheets
  dfs 
})[[1]]

list2env(df.list ,.GlobalEnv)

select 可以接受辅助函数。不要直接指定,而是用 any_of 包装。根据?select

any_of(): Same as all_of(), except that no error is thrown for names that don't exist.

df.list <- lapply(file.list,function(x) {
  sheets <- excel_sheets(x)
  dfs <- lapply(sheets, function(y) {
    read_excel(x, sheet = y, skip = 5) %>% 
      clean_names() %>% 
      select(any_of(stringr::str_c('x', 1:4)))
  })