list.files函数返回空列表求助:批量读取22个文件失败
问题原因与解决方法
你用错了list.files函数——这个函数的第一个参数是文件夹路径,作用是列出该文件夹下的文件;但你传给它的是22个具体的文件路径,它会尝试把每个文件当成文件夹去读取里面的内容,自然找不到任何文件,所以返回空向量,后续mclapply处理空向量就得到了空列表list()。
正确处理步骤:
验证文件路径有效性
先检查folders里的路径是否正确(比如你路径里的ouputs看起来像是outputs的笔误?),运行代码确认:file.exists(folders)如果返回
FALSE,说明对应路径的文件不存在,先修正路径。直接读取文件
既然已经有了所有目标文件的路径,完全不需要list.files,直接把folders传给mclapply即可:sumstats_list <- mclapply(folders, fread, mc.cores = 6) sumstats_list可选:合并文件
如果要把读取到的列表合并成单个data.table,用:combined_sumstats <- rbindlist(sumstats_list)
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

