Hi, Thanks for the quick reply. However, your suggestion doesn't solve the problem I'm afraid (i.e dim(Matrix) still the same). What I want is to reduce the number of rows (probesets) markedly based on their normalized intensity - thus I've chosen a cut-off of 1.11
When I run your code (as well as mine listed in my previous mail) R just give me a very long list (in two columns) with the probeset names as well as the expression value in column 17 (I've 25 columns in total in my data matrix). I have tried to generate a small matrix (4 rows and 3 colums) to test your code... when I type head(Matrix) it looks ok (now only 3 rows as expected), but when I type dim(matrix) it still states 4 rows and 3 colums...? NB: When I write 'exp value' I mean log transformed, background corrected expression values derived from Affy chips (I used the 'justRMA' command to read my CEL files and compute an expression measure) Kind regards, Peter On Mon, Nov 21, 2011 at 05:09, Dennis Murphy <djmu...@gmail.com> wrote: > Without a reproducible example this is just a guess, but try > > Matrix[apply(Matrix, 1, function(x) any(x > 1.11)), ] > > This will retain all rows of Matrix where at least one value in a row > is above the threshold 1.11. If that doesn't do what you want, please > provide a small reproducible example and a clearer statement of the > desired output. It's not at all clear to me what 'exp. values' means - > I can devise at least three meanings off the top of my head, none of > which may conform to what you mean. > > HTH, > Dennis > > On Sun, Nov 20, 2011 at 2:45 PM, Peter Davidsen <pkdavid...@gmail.com> wrote: >> Dear List, >> >> I have a data matrix that consists of ~4500 rows and 25 columns (i.e. >> an exprSet object that I converted via the 'exprs' function into a >> data matrix) >> >> Now I want to remove/delete the rows where all exp. values in that >> particular row are below or equal to a specific cut-off value (e.g >> 1.11) >> >> I have tried using several commands to address this issue: >>>Matrix[rowSums(Matrix <= 1.11) <= 1.11, ] >> >> or >> >>>Matrix[ !apply(Matrix<=1.11,1,all), ] >> >> >> The above commands seem to work fine when I generate a small "test" matrix >> like: >>>M <- matrix(c(2,5,8,0.4,0.8,0.5,4,12,3), nrow=3, byrow=T) >> >> However, non of the two commands decrease the number of rows in my real >> matrix! >> >> Any help would be appreciated >> >> Kind regards, >> Peter >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.