[英]Looping over an R function
我在 R 中有一個 function ,它接收 a.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
function 並從中獲取一個解析文件。
手動執行此操作很痛苦。
如何在 R 中自動執行此操作?
此代碼給出 output
lapply(dir(), function(f) { if grep('vcf', f) { parse_vcf_alt1(f) }})
但我不知道如何分別用自己的名稱為每個已解析的 vcf 保存或編寫 output 。
> 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 返回文件列表,grep 檢查它們的名稱,如果匹配則調用 parse_vcf。 frame[f] 將它分配給數據框的一列,之后可以使用例如 frame$vcs.hd1.vcf 或任何文件名來檢索它。 最后, write.csv 會將您的結果寫入當前目錄中的 filename.csv。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.