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:(指定された色の数) のサブセットをプロットしますが、それを効果的に使用する方法は考えていません。たとえば、以下は、マイクロアレイ データの 1 番目から 6 番目の AffyRNAdeg'd セット ( ReadAffy() によって読み取られた 1 番目から 6 番目の .CEL ファイル) をプロットします。

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

1 に答える 1

0

OK、1 つの方法は、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 に答える