readr:传递一个列类字符串

readr:传递一个列类字符串,r,readr,R,Readr,我想使用readr::read_csv来读取多个数据集 我有一个CSV,每个文件的描述如下: # A tibble: 5 x 8 Object_Name File_Path Column1 Column2 Column3 Column4 Column5 Column6 <chr> <chr> <chr> <chr> <chr> <chr>

我想使用readr::read_csv来读取多个数据集

我有一个CSV,每个文件的描述如下:

# A tibble: 5 x 8
  Object_Name File_Path      Column1   Column2   Column3   Column4 Column5 Column6
  <chr>       <chr>          <chr>     <chr>     <chr>     <chr>   <chr>   <chr>  
1 Object1     data/file1.csv character character character numeric numeric numeric
2 Object2     data/file2.csv character character character numeric NA      NA     
3 Object3     data/file3.csv character character numeric   NA      NA      NA     
4 Object4     data/file4.csv character numeric   numeric   numeric NA      NA     
5 Object5     data/file5.csv character numeric   numeric   NA      NA      NA    
这不起作用:

> aa <- c('c','n')
> cols(aa)
Error in switch(x, `_` = , `-` = col_skip(), `?` = col_guess(), c = col_character(),  : 
  EXPR must be a length 1 vector

因为我要遍历一堆文件,所以我需要一些类似于第二个示例的东西。我可以使用列规范将字符串保存在某个地方,但如何将字符串转换为cols对象?

要获得第二个示例,可以使用do.call:


如果看不到确切的错误信息,很难找到答案,请编辑您的问题,以显示确切发生的事情不起作用。THX:-检查文档中的read_csv;您需要col_types参数为NULL、cols规范或字符串之一。目前您没有这些选项。我为问题添加了更多详细信息。基本上,如果我保存了一个带有列规范的字符串,如何将其转换为cols对象?
> cols('c', 'n')
cols(
   = col_character(),
   = col_number()
)
> aa <- c('c','n')
> cols(aa)
Error in switch(x, `_` = , `-` = col_skip(), `?` = col_guess(), c = col_character(),  : 
  EXPR must be a length 1 vector
aa <- c('c','n')
do.call(cols,as.list(aa))

cols(
   = col_character(),
   = col_number()
)