【发布时间】:2012-03-30 16:36:00
【问题描述】:
我有以下循环
for (chr in paste('chr',c(seq(1,22),'X','Y'),sep='')){
.
.
pdf(sprintf ('anna.%s.pdf',chr), 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()
write.table(exp.sorted,file="list.txt",append = TRUE ,quote = FALSE,col.names =FALSE,row.names=TRUE,sep="\t")
}
使用当前代码,循环将为 anna 生成 24 个 pdf,每个 pdf 都将包含来自循环一次旋转的数据
我需要的是只有一个 anna.pdf 并在创建的图形中添加循环每次旋转的数据。不是要擦除循环每次旋转的先前数据,而只是将每个循环的数据添加到一个总图上,该图将包含循环所有旋转的数据。
当我创建表并有一个 list.txt 时,我对 append=TRUE 所做的几乎是什么,其中循环只是添加来自每次旋转的数据
提前谢谢你
最好的问候 安娜
PS:
那么,如果我说以下可以吗?
for (chr in c(paste('chr',seq(1,22),sep=''),'chrX','chrY')){
anna1<-exp
anna2<-control
.
.
.
.
pdf('anna.pdf', paper='a4')
for (chr in paste('chr',c(seq(1,22),'X','Y'),sep='')){
if(!PLOT){
plot(exp,control,xlim=c(0,400),ylim=c(0,400),
pch=20,col='black',main='Tiles',xlab='exp',ylab 'Control')
PLOT <- TRUE
} else {
lines(names(control.table), log10(control.table), col="blue")
}
legend('topright', legend=c('ChIP', 'Control'), col=c('red','blue'), lwd=1)
}
dev.off()
.
.
.
pdf('anna.enriched.pdf',paper='a4')
for (chr in paste('chr',c(seq(1,22),'X','Y'),sep='')){
plot(exp.peaks,control.peaks,xlim=c(0,400),ylim=c(0,400),pch=20,col='black')
}
dev.off()
}
这两个 pdf 中哪一个是正确的?两个脚本都正确吗?
谢谢你
最好的问候 安娜
【问题讨论】: