首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R函数,用于选择2个文件名相似的文件

R函数,用于选择2个文件名相似的文件
EN

Stack Overflow用户
提问于 2020-02-21 11:14:39
回答 1查看 41关注 0票数 0

我正在尝试匹配具有相似文件名的文件,以将其用作函数的输入。例如,如果目录中的文件名为:

代码语言:javascript
复制
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),然后应用于我使用的文件读取函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-21 11:49:13

每个文件都会有一对吗?如果是,那么您可以获得文件路径的向量,并在对名称进行排序后将它们放入矩阵中。

代码语言:javascript
复制
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逐列地将这些函数应用于每一对。

代码语言:javascript
复制
some_func <- function(x, y) #does some thing with x & y
apply(mat, 2, some_func)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60331690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档