[BioC] Extracting expressions after a multtest procedure (part 2)

JUAN MIGUEL MARIN DIAZARAQUE jmmarin at est-econ.uc3m.es
Mon Mar 17 17:53:37 CET 2008

Hello Sean,

thank you very much, the command works fine.
It is, by very far, faster than the for-option...


> On Sun, Mar 16, 2008 at 11:56 AM, JUAN MIGUEL MARIN DIAZARAQUE
> <jmmarin at est-econ.uc3m.es> wrote:
>> Hello,
>>  In previous message I wonder how to extract just the expressions of 102
>>  genes under two conditions after a multtest procedure.
>>  At last, I wrote this unelegant code that seems to work:
>>  quedan <- resT[res$adjp[,"BH"]<0.05,]
>>  busco <- dimnames(quedan)[[1]]
>>  cosa <- NULL
>>  for (i in 1:length(dimnames(exprs(esetSub))[[1]]))
>>         for (j in 1:length(busco))
>>                 if (dimnames(exprs(esetSub[i,]))[[1]] == busco[j]) {
>>                 cosa <- rbind(cosa, as.data.frame(exprs(esetSub))[i,]) }
>>         end
>>  end
> Generally, you can subset ExpressionSets just like you do data frames;
> rows are genes or probes and columns are samples.  If esetSub is what
> you used for your multtest procedure, you should be able to do:
> exprs(esetSub)[res$adjp[,'BH']<0.05,]
> In general, for loops are quite useful in R, but for things like
> subsetting or vectorized operations, it is better to look for other
> alternatives as they are likely to be faster.
> Sean



     Juan Miguel Marin


    Dep. of Statistics
University Carlos III of Madrid
        Spain (E.U.)

More information about the Bioconductor mailing list