簡體   English   中英

選擇2個文件名相似的文件的R函數

[英]R function that selects 2 files with the similar file names

我正在嘗試匹配具有相似文件名的文件以用作函數的輸入。 例如,如果目錄中的文件名是:

atac.macaque.R1.fastq.gz
atac.macaque.R2.fastq.gz
atac.human.R1.fastq.gz
atac.human.R2.fastq.gz 

是否有一個函數可以識別 atac.macaque.R1.fastq.gz 和 atac.macaque.R2.fastq.gz 是成對的,應該分別作為 x 和 y 輸入到將讀取這些文件的函數中?

我希望找到一個函數,它可以遍歷目錄中的所有文件對(它們都以不同的名稱開頭,即 atac.human 與 atac.macaque),然后應用於我使用的文件讀取函數。

每個文件都會有一對嗎? 如果是,那么您可以獲取文件路徑的向量,並在對名稱進行排序后將它們放入矩陣中。

x <- sort(list.files('/path/to/directory', pattern = "\\.gz$"))
mat <- matrix(x, ncol = 2)
mat

#     [,1]                     [,2]                      
#[1,] "atac.human.R1.fastq.gz" "atac.macaque.R1.fastq.gz"
#[2,] "atac.human.R2.fastq.gz" "atac.macaque.R2.fastq.gz"

現在,每一列都是一對,如果你有一些函數將這兩個文件作為參數,你可以使用apply column-wise 將這些函數應用於每一對。

some_func <- function(x, y) #does some thing with x & y
apply(mat, 2, some_func)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM