폴더에서 모든 파일을 가져오고 파일을 변환 한 다음 동일한 이름으로 내보낼 수 있지만 확장자는 다릅니다.R 폴더에있는 모든 파일을 덮어 씁니다.
library(ape)
gen1 <- read.nexus.data("gen1.nex") #import nexus file
write.dna(gen1, file = "./fastas/gen1.fasta", format = "fasta") #export fastafile
을하지만 지금 내 특정 경우에는 내가 FASTA 파일 (.fasta)
나는 하나 그것을 하나를 수행하는 경우이 코드는 모습입니다 150 개 넥서스 파일 (.nex를) 변환 할 for-loop가 한 번의 실행으로 150 개의 파일을 모두 수행하지 못하게합니다. 이 코드를 실행하면
library(ape)
filenames = dir(pattern="*.nex")
for (i in filenames){
i <- read.nexus.data(i)
write.dna(i, file = "./fastas/i.fasta", format = "fasta")
}
, 나는 "i.fasta"라는 하나 개의 파일을 얻을 수 없습니다 150 파일 이름 gen1.fasta, gen2.fasta, DNAsequence1.fasta, DNAsequence2.fasta : 이것은 내가 뭘하려 등등. for 루프가 올바르게 작동하도록 어떻게 변경해야합니까? 붙여 넣기 기능을 사용하는 경우
당신은'paste0 ("./ fastas /", 나는)' – akrun
또는'의 sprintf ("./ fastas/%의 s.fasta", i)는' – plannapus
는 귀하의 의견 주셔서 모두 감사를해야 할 수도 있습니다. "paste0"을 사용하면 오류가 발생합니다. 내부 'paste'에 대한 문자열이 아닌 인수; sprintf를 사용하면 오류가 발생합니다. 지원되지 않는 유형 – PaulH