2013-07-28 1 views
0

나는 많은 시퀀스가 ​​텍스트 파일에 있습니다. "read.fasta"함수를 사용하여 이러한 시퀀스를 가져옵니다. "for 루프"를 사용하여 각 시퀀스마다 뉴클레오타이드 빈도 테이블을 만들고 출력을 위해 "write.table"을 사용합니다. 그러나 각 시퀀스마다 파일을 생성합니다 (많은 출력 파일과 각 파일에는 시퀀스 테이블이 있습니다). 모든 테이블이있는 파일을 만드는 명령을 검색합니다. 참고
"에서는 mydata.txt는"파일 인은"for loop"(R)에 테이블 쓰기

file=read.fasta(file="mydata") 
for (i in seq_along(file)) 
{ 
NucleotidesFrequency=table(file[[i]]) 
print(NucleotidesFrequency) 
write.table(NucleotidesFrequency, paste(i, (".txt"), sep=""),sep="\t") 
} 

답변

0

당신은 (자세한 내용은 ?rbind 참조) rbind을 시도 할 수 FASTA 형식으로 많은 순서가 포함

## create example data 
set.seed(1) 
s <- list(sample(LETTERS[1:4], size=20, replace=T), sample(LETTERS[1:4], size=20, replace=T)) 

## call table for each item in the list 
l <- lapply(s, table) 
l 
#[[1]] 
#A B C D 
#4 5 5 6 
#[[2]] 
#A B C D 
#5 7 4 4 

## using rbind to create a matrix 
d <- do.call(rbind, l) 
d 
# A B C D 
#[1,] 4 5 5 6 
#[2,] 5 7 4 4 

## write it into a file 
write.table(d, "file.txt") 
+0

감사합니다,하지만 난 사용하지 수 for 루프에서 rbind! 내 명령의 for 루프 출력은 테이블이며,이 모든 테이블을 텍스트 파일로 갖고 싶습니다. – YBC

+0

@ ToobaAbbassi : 모든 테이블과 매트릭스의 차이점은 무엇입니까? – sgibb

+0

@ sgibb : 아무런 견해가 없지만 표로 병합하고 싶습니다. 귀하의 제안으로 제 문제가 해결되었습니다. 고마워. – YBC