仅在读取 csv 文件列表时定义一列?

Define one column only when reading in a list of csv files?

我正在读取文件列表并将其合并为一个 df:

fi <- list.files(path = 'data', pattern = '*.csv', full.names = T) %>%  
  map_df(~read_csv(paste0(.)))

但是这是一个错误:

Error: Can't combine App ID <character> and App ID <double>. .

在相关目录中有许多文件需要读入和合并。我想知道是否可以在像这样读取时为问题字段定义列类型 App ID?例如。 map_df(~read_csv(paste0(.), cols(应用 ID = CHR))

我们可以使用

library(dplyr)
library(purrr)
 out <-  list.files(path = 'data', pattern = '*\.csv',
    full.names = TRUE) %>%             
       map_df(~read_csv(.x) %>%
            mutate(across(everything(), as.character())) %>%
       type.convert(as.is = TRUE)