r - file.path 函数找不到文件
问题描述
我有一个代码,可以根据我的示例文件在文件夹中查找某些文件。
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 是一个文件夹。
有谁知道如何做到这一点,以便获取的文件只是我的示例文件中的文件?
解决方案
如果要访问多个子文件夹中的文件,可以设置参数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)
推荐阅读
- python - 似乎无法弄清楚如何将列表中的值显示到 tkinter 中的标签上
- amazon-ec2 - 使用云托管策略获取具有附加安全组(具有超过 50 条规则)的 AWS EC2 实例
- php - preg_match 查找正则表达式
- vim - 如何更改 vim 缓冲区颜色?
- xml - Intellej 创建 xml 文件并上传到 git
- python - 如何沿 X 轴绘制“_”对象但改变 Y 轴上的值?(在 python、matplotlib、pandas 中)
- linux - 安装包时出错:已安装 grub-efi-amd64 包安装后脚本子进程返回错误退出状态 255
- ios - 是否有通用且可靠的解决方案来使 UICollectionViewCell 的宽度换行内容?
- android - Flutter将图标参数作为构造函数传递
- amazon-web-services - AWS RDS 快照还原可用区失败