readr:传递一个列类字符串
我想使用readr::read_csv来读取多个数据集 我有一个CSV,每个文件的描述如下: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>
# 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()
)