【问题标题】:create one pdf with data from all the rotations of a loop使用来自循环的所有旋转的数据创建一个 pdf
【发布时间】: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 中哪一个是正确的?两个脚本都正确吗?

谢谢你

最好的问候 安娜

【问题讨论】:

    标签: r pdf for-loop


    【解决方案1】:

    您可以使用 points(...) 或 lines(...) 函数将数据添加到现有绘图中。 因此,您必须在第一次迭代中创建绘图。

    例如像这样的

    PLOT <- FALSE
    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 {
           points(exp,control, ...)
        }
    }
    dev.off()
    

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2021-10-20
      • 2019-01-24
      • 1970-01-01
      • 2018-12-10
      相关资源
      最近更新 更多