循环 R 函数
Looping over an R function
我在 R 中有一个函数可以接收 .vcf 文件并对其进行解析。
例如
x <- "file1.vcf"
file1.parsed <- parse_vcf_alt1(x)
我在一个文件夹中有 177 个 .vcf 文件。
它们看起来像这个文件
https://www.dropbox.com/s/lcdmk57sy3dxexp/file1.vcf?dl=0
我想将这些 .vcf 文件中的每一个一个一个地输入到 parse_vcf_alt1
函数中,并从中获取一个已解析的文件。
手动执行此操作很痛苦。
如何在 R 中自动执行此操作?
此代码给出输出
lapply(dir(), function(f) { if grep('vcf', f) { parse_vcf_alt1(f) }})
但我不知道如何使用自己的名称为每个已解析的 vcf 分别保存或写入输出。
> dput(frame)
structure(list(), .Names = character(0), row.names = integer(0), class = "data.frame") >
frame <- data.frame()
lapply(dir(), function(f) { if(grep('vcs', f)) { frame[f] <- parse_vcf_alt1(f) }})
write.csv(frame, 'filename.csv')
dir returns 文件列表,grep 检查它们的名称并在匹配时调用 parse_vcf。 frame[f] 将它分配给数据框的一列,之后可以使用 frame$vcs.hd1.vcf 或任何文件名来检索它。最后,write.csv 会将您的结果写入当前目录中的 filename.csv。
我在 R 中有一个函数可以接收 .vcf 文件并对其进行解析。
例如
x <- "file1.vcf"
file1.parsed <- parse_vcf_alt1(x)
我在一个文件夹中有 177 个 .vcf 文件。
它们看起来像这个文件
https://www.dropbox.com/s/lcdmk57sy3dxexp/file1.vcf?dl=0
我想将这些 .vcf 文件中的每一个一个一个地输入到 parse_vcf_alt1
函数中,并从中获取一个已解析的文件。
手动执行此操作很痛苦。
如何在 R 中自动执行此操作?
此代码给出输出
lapply(dir(), function(f) { if grep('vcf', f) { parse_vcf_alt1(f) }})
但我不知道如何使用自己的名称为每个已解析的 vcf 分别保存或写入输出。
> dput(frame)
structure(list(), .Names = character(0), row.names = integer(0), class = "data.frame") >
frame <- data.frame()
lapply(dir(), function(f) { if(grep('vcs', f)) { frame[f] <- parse_vcf_alt1(f) }})
write.csv(frame, 'filename.csv')
dir returns 文件列表,grep 检查它们的名称并在匹配时调用 parse_vcf。 frame[f] 将它分配给数据框的一列,之后可以使用 frame$vcs.hd1.vcf 或任何文件名来检索它。最后,write.csv 会将您的结果写入当前目录中的 filename.csv。