1. 程式人生 > 其它 >R語言中批量提取當前目錄中指定型別的檔案

R語言中批量提取當前目錄中指定型別的檔案

1、直接測試

dir()     ## 列出當前目錄中所有檔案
myfile <- list.files()   ## 將當前目錄中的所有檔案都儲存為字元
myfile
gzfile <- myfile[grep(myfile, pattern =".gz$")]   ## 提取當前目錄中以.gz結尾的檔案
gzfile
txtfile <- myfile[grep(myfile, pattern = ".txt$")]   ## 提取當前目錄中以.txt結尾的檔案
txtfile
> dir()   ## 列出所有檔案
[1] "GSE148812_family.soft
" [2] "GSE148812_family.soft.gz" [3] "GSE148812_genotyping_results.txt" [4] "GSE148812_genotyping_results.txt.gz" [5] "GSE148812_RAW.tar" [6] "GSM4481589_8378315049_R05C01_Grn.idat" [7] "GSM4481589_8378315049_R05C01_Grn.idat.gz" [8] "
GSM4481589_8378315049_R05C01_Red.idat" [9] "GSM4481589_8378315049_R05C01_Red.idat.gz" > myfile <- list.files() ## 所有檔案賦值給一個變數 > myfile [1] "GSE148812_family.soft" [2] "GSE148812_family.soft.gz" [3] "GSE148812_genotyping_results.txt" [4] "GSE148812_genotyping_results.txt.gz
" [5] "GSE148812_RAW.tar" [6] "GSM4481589_8378315049_R05C01_Grn.idat" [7] "GSM4481589_8378315049_R05C01_Grn.idat.gz" [8] "GSM4481589_8378315049_R05C01_Red.idat" [9] "GSM4481589_8378315049_R05C01_Red.idat.gz" > gzfile <- myfile[grep(myfile, pattern =".gz$")] ## 提取以.gz結尾的檔案 > gzfile [1] "GSE148812_family.soft.gz" [2] "GSE148812_genotyping_results.txt.gz" [3] "GSM4481589_8378315049_R05C01_Grn.idat.gz" [4] "GSM4481589_8378315049_R05C01_Red.idat.gz" > txtfile <- myfile[grep(myfile, pattern = ".txt$")] ##提取以.txt結尾的檔案 > txtfile [1] "GSE148812_genotyping_results.txt"
> gsefile <- myfile[grep(myfile, pattern = "^GSE")]   ## 提取以GSE開頭的檔案
> gsefile
[1] "GSE148812_family.soft"              
[2] "GSE148812_family.soft.gz"           
[3] "GSE148812_genotyping_results.txt"   
[4] "GSE148812_genotyping_results.txt.gz"
[5] "GSE148812_RAW.tar"    

參考:https://zhuanlan.zhihu.com/p/378404523