file.path函数找不到文件

时间:2019-04-13 14:24:50

标签: r

我有一个代码,可以根据我的样本文件在文件夹中查找某些文件。

reads <- dir(path = file.path(reads_folder, samples$SAMPLE_ID), 
             pattern = "fastq.gz$", full.names = TRUE)

当我具有以下结构时,该代码非常有用: reads_folder / SAMPLE_ID01 / SAMPLE_ID_01.fastq.gz

但是我想更改文件结构,并将其保留在一个文件夹中,例如, reads_folder / SAMPLE_ID_01.fastq.gz 。 这样,相同的代码将不起作用,因为它希望SAMPLE_ID是一个文件夹。

有人会知道如何做到这一点,以使所获取的文件只是我的示例文件中的文件吗?

1 个答案:

答案 0 :(得分:0)

如果要访问多个子文件夹中的文件,则可以设置参数recursive = TRUE。另外,要获取多种样本模式,您可以使用paste收集值。

multiple_samples <- paste0(samples$SAMPLE_ID, collapse = "|")
multiple_samples <- paste0("(", multiple_samples, ")+")

reads <- dir(path = reads_folder, 
             pattern = paste0(multiple_samples, ".*\\.fastq.gz$"), 
             full.names = TRUE, 
             recursive = TRUE)