0
library(affy)    
microarrays <- ReadAffy()         # 98 CEL files are read into the same object
RNAdeg <- AffyRNAdeg(microarrays)

现在我想绘制 RNAdeg 的子集

plotAffyRNAdeg(RNAdeg[.......?])   # What can I do?

我尝试了各种“for”循环但没有成功。

但是,如果指定了绘图线颜色,则 plotAffyRNAdeg 绘制 1:(指定颜色的数量)的子集,但我还没有想到一种有效使用它的方法。例如,下面绘制了第一到第六组 AffyRNAdeg'd 微阵列数据(由 ReadAffy() 读取的第一到第六个 .CEL 文件)

plotAffyRNAdeg(RNAdeg,col=c(2,2,2,3,3,3))
4

1 回答 1

0

好的,通过在 CEL 文件所在对象的子集上运行 AffyRNAdeg() 并将结果数据放入由实验组织的列表列表中,然后绘制列表元素,找到了一种方法。也许有一种更简单的方法,但这有效(我对 R 很陌生)。

library(affy)    
library(RColorBrewer)

> sampleNames(ARTHwoundMA[,11:14])
[1] "GSE18960_05_GSM469416_trt_rep2.CEL" "GSE18960_06_GSM469418_trt_rep3.CEL"
[3] "GSE5525_GSM128715_ctrl12h.CEL"      "GSE5525_GSM128716_ctrl24h.CEL

# RNA DEG

# Indices to subset by experiment

cel_names <- substr(sampleNames(ARTHwoundMA),1,7)
unique_exp <- unique(substr(sampleNames(ARTHwoundMA),1,7))
exp_ind <- list()
for (i in 1:length(unique_exp))
  { 
  tempvec <- vector()
  for (j in 1:length(cel_names))
  {
    if (cel_names[j]==unique_exp[i])
    {
      tempvec <- append(tempvec,j)
    }
  }
  exp_ind[[(length(exp_ind)+1)]] <- tempvec
}


# Calculating

RNAdeg_exp <- list()
for(i in 1:length(exp_ind))
{
  RNAdeg_exp[[i]] <- AffyRNAdeg(ARTHwoundMA[,exp_ind[[i]]]) 
}


# Plotting

colors <- colorRampPalette(rev(brewer.pal(9, "Reds")))(length(exp_ind[[i]])
pdf(file="C:\\R working directory\\TEST\\RNAdeg_plots.pdf")
for(i in 1:length(exp_ind))
{
  par(bg="gray")
  colors <- colorRampPalette(rev(brewer.pal(9, "Reds")))(length(exp_ind[[i]]))
  plotAffyRNAdeg(RNAdeg_exp[[i]], col=colors)
  plot.new()
  legend("topleft", lty=1, lwd=2,col=colors,
     legend=paste(sampleNames(ARTHwoundMA[,exp_ind[[i]]])))
}

dev.off()
于 2013-06-08T02:30:11.127 回答