Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将具有可变列类型的多个.csv文件导入R_R_Dplyr_Tidyverse - Fatal编程技术网

将具有可变列类型的多个.csv文件导入R

将具有可变列类型的多个.csv文件导入R,r,dplyr,tidyverse,R,Dplyr,Tidyverse,如何正确构建一个lappy,从一个目录中读取所有.csv文件,将所有列作为字符串加载,然后将它们绑定到一个数据帧中 根据,我有一种方法将所有.csv文件加载并绑定到一个数据帧中。不幸的是,他们对列如何进行类型转换的易变性感到困惑。因此给了我这个错误: 错误:无法在中自动从字符转换为整数 纵队 我已经试着用字符来补充代码,我试着把所有的东西都保留为字符;我现在被困在能够正确地让我的lappy“循环”有效地引用其“循环”的每个循环的主题上 srvy1 <- structure(list(RES

如何正确构建一个lappy,从一个目录中读取所有.csv文件,将所有列作为字符串加载,然后将它们绑定到一个数据帧中

根据,我有一种方法将所有.csv文件加载并绑定到一个数据帧中。不幸的是,他们对列如何进行类型转换的易变性感到困惑。因此给了我这个错误:

错误:无法在中自动从字符转换为整数 纵队

我已经试着用字符来补充代码,我试着把所有的东西都保留为字符;我现在被困在能够正确地让我的lappy“循环”有效地引用其“循环”的每个循环的主题上

srvy1 <- structure(list(RESPONSE_ID = 584580L, QUESTION_ID = 328L, SURVEY_ID = 2324L, 
           AFF_ID_INV_RESP = 5L), .Names = c("RESPONSE_ID", "QUESTION_ID", 
                                             "SURVEY_ID", "AFF_ID_INV_RESP"), class = "data.frame", row.names = c(NA, 
                                                                                                                  -1L))

srvy2 <- structure(list(RESPONSE_ID = 584580L, QUESTION_ID = 328L, SURVEY_ID = 2324L, 
           AFF_ID_INV_RESP = "bovine"), .Names = c("RESPONSE_ID", "QUESTION_ID", 
                                                   "SURVEY_ID", "AFF_ID_INV_RESP"), class = "data.frame", row.names = c(NA, 
                                                                                                                        -1L))    

files = list.files(pattern="*.csv")
tbl = lapply(files, read_csv(files, col_types = cols(.default = col_character()))) %>% bind_rows
有没有一个简单的解决方法,我可以把它保存在tidyverse中,或者我必须降低一个级别,自己公开地构建for循环-per。

lapply应该是lapplyx,FUN。。。哪里就是把这些论点传给FUN。你把争论填得很有趣。它应该是lapplyfiles、read_csv、col_types=cols.default=c

如果您喜欢tidyverse解决方案:

files %>%
  map_df(~read_csv(.x, col_types = cols(.default = "c")))

这将在最后将整个内容绑定到一个数据框中。

而否决票的目的到底是什么?最有可能是因为没有提供一个可复制的示例和数据。您的代码中有一些错误。它应该是lapplyfies,read_csv,col_types=cols.default=col_characterI将提供两个文件中的headx,5个,从这些文件创建一个列表并输出结果并粘贴到这里。tbl=lapplyfies,read_csvcol_types=cols.default=col_character在inheritsx中获取以下错误,连接:参数文件丢失,如果没有默认值,并且此tbl=lapplyfiles、read\u csvfiles、col\u types=cols.default=col\u字符在switchtools::file\u extpath、gz=gzfilepath、bz2=bzfilepath中获取此错误,:EXPR必须是长度为1的向量,此外:警告消息:1:in if grepl\n,x{:条件的长度大于1,只使用第一个元素,这通常意味着我需要行调用。lapply的形式应该是lapplyx,FUN,…其中…是传递给FUN的参数。您正在FUN中填充参数。它应该是lapplyfiles,read_csv,col_types=cols.default=col_character谢谢。哈哈我已经为此挣扎了好几个小时了。