0

我在一个文本文件中有很多序列。我使用“read.fasta”函数导入这些序列。我使用“for loop”为每个序列创建核苷酸频率表,并使用“write.table”进行输出。但是它为每个序列创建一个文件(许多输出文件和每个文件都有一个序列表)。我搜索一个命令来创建一个包含所有表的文件。
注意:“mydata.txt”是一个包含许多fasta格式序列的文件

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") 
}
4

1 回答 1

0

你可以试试rbind(详见?rbind):

## 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")
于 2013-07-28T13:20:39.907 回答