在为多个文件应用lapply函数后,如何创建文本文件?

时间:2016-10-05 20:47:20

标签: lapply multiple-files write.table

我是新的R用户。我想为许多文件执行相同的多个任务集,并将结果写入文本文件。代码如下所示:

    ps_files<-dir(pattern = ".ps")
    lapply(ps_files, function(x) {
    #read files
    read<-data.table::fread(x, data.table = F, stringsAsFactors = F) 
    #merge with bim file
    merge_bim<-dplyr::inner_join(read, bim_df[,c(1:2, 4:6)], by=c("V1"="V2"))
    #paste Chr for rows in column1
    merge_bim$V1.y<-paste0("Chr",merge_bim$V1.y)
    #filter significant snps
    sig_snps<-filter(merge_bim, V4.x<=0.00001)
    #get columns needed by annovar
    output<-sig_snps[,c("V1.y","V4.y","V4.y","V5","V6")]
    #create text files of results
    write.table(output, sep="\t", col.names=F, row.names=F, append=F, quote=F)
    })

目录中有五个文件。当我尝试运行直到输出变量时,我的预期结果出来了。但是当我尝试运行直到write.table时,我为每个文件得到“NULL”(即[[1]] NULL ... [[5]] NULL),并且不生成文本文件。我尝试了多个网站的建议,但错误仍然存​​在。我也不确定lapply是否是最适合使用的功能。

0 个答案:

没有答案