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

Sean Davis sdavis2 at mail.nih.gov
Sun Mar 16 17:38:11 CET 2008


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



More information about the Bioconductor mailing list