我正在嘗試匯入?160個檔案并重塑它們,但事先我試圖將一列從一個向量系結到相同長度的它們。它們都應該有 43 列,但一個有 41 列。導致下面的錯誤。我有機會識別出哪個檔案嗎?
readxl::read_excel(paste0(path,
file), col_names = TRUE)%>%
rename(category = 1)%>%
bind_cols(category2,)
})
Error in `bind_cols()`:
! Can't recycle `..1` (size 41) to match `..2` (size 43).
Run `rlang::last_error()` to see where the error occurred.
uj5u.com熱心網友回復:
您可以使用map()將資料加載到串列中,將檔案的名稱作為串列名稱使用set_names(),并使用僅保留 41 列的串列keep(),即
library(purrr)
library(dplyr)
file_list <- list.files(pattern='*.xls', path = "yourdatapath", full.names = T)
map(file_list, ~ readxl::read_excel(.x)) %>%
set_names(file_list) %>%
keep(~ncol(.x)==41)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/469423.html
標籤:r
