Как сделать несколько PDF-файлов в цикле - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть одна петля

for (chr in paste('chr',c(seq(1,22),'X','Y'),sep='')){
.
.
pdf ('anna.pdf',paper='a4')
plot(exp,control,xlim=c(0,400),ylim=c(0,400),pch=20,col='black',main='Tiles',xlab='exp',ylab 'Control')
dev.off()
 }

Моя проблема в том, что петля просматривает мои данные для всех хромосом, поэтому в итоге я должен ожидать в конце 24 pdfs (по одной на хромосому)

Однако это не так .... поскольку программа хранит только pdf последнего цикла

Как я могу это сделать?

Что я должен написать, чтобы создать для каждого цикла одинpdf?

Более того, внутри одного и того же цикла в определенной позиции я создаю list.txt ...

write.table(exp.sorted,file="list.txt",append = FALSE ,quote = FALSE,col.names =FALSE,row.names=TRUE,sep="\t")

Так как же мне просто заполнить данные из каждого цикла в одном и том жеTXT, но без стирания предыдущих записей ????

потому что, как и сейчас, он создаст один текст с последней хромосомой.

Мне нужен текст со всеми хромосомами внутри (данные по каждой хромосоме извлекаются при каждом завершении цикла)

Спасибо

С наилучшими пожеланиями Анна

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

Это потому, что вы сохраняете его как anna.pdf каждый раз - вам нужно изменить имя файла так, чтобы он менялся на каждой итерации цикла.

Например, вы можете назвать его'anna_ [буква хромосомы]':

pdf(sprintf('anna_%s.pdf',chr),paper='a4')
1 голос
/ 24 февраля 2012

Вам нужно переместить этот pdf () - call и dev.off () - вызвать вне цикла и добавить аргумент onefile=TRUE.

pdf ('anna.pdf',paper='a4', one.file=TRUE)
for (chr in paste('chr',c(seq(1,22),'X','Y'),sep='')){
.
.

plot(exp,control,xlim=c(0,400),ylim=c(0,400),pch=20,
         col='black',main='Tiles',xlab='exp',ylab 'Control')
     }
dev.off()

Вы повторили вопрос о перезаписи файла вотдельный вопрос и, вероятно, следует удалить его из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...