仅在读取 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)
我正在读取文件列表并将其合并为一个 df:
fi <- list.files(path = 'data', pattern = '*.csv', full.names = T) %>%
map_df(~read_csv(paste0(.)))
但是这是一个错误:
Error: Can't combine
App ID
<character> andApp 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)