Hi, if I have a large matrix e.g. with the dimensions of 1000 rows and 10 columns. How can I select rows comprising one or more values between a specific range of two values? So e.g. a row has one or more values between the range of 100 - 120. Cheers -- View this message in context: http://www.nabble.com/Select-specific-rows-of-a-matrix-tp20398347p20398347.html Sent from the R help mailing list archive at Nabble.com.
mentor_ wrote:> > Hi, > > if I have a large matrix e.g. with the dimensions of 1000 rows and 10 > columns. > How can I select rows comprising one or more values between a specific > range of two values? > So e.g. a row has one or more values between the range of 100 - 120. >No tested, but this should work (say your matrix is called "mat"): mat[apply(mat, 1, function(x) any(x > 99 & x < 121)), ] Hth, Adrian -- View this message in context: http://www.nabble.com/Select-specific-rows-of-a-matrix-tp20398347p20404257.html Sent from the R help mailing list archive at Nabble.com.
try this: mat <- matrix(sample(90:2000, 10000, TRUE), 1000, 10) ind <- rowSums(mat > 100 & mat < 120) > 0 mat[ind, ] I hope it helps. Best, Dimitris mentor_ wrote:> Hi, > > if I have a large matrix e.g. with the dimensions of 1000 rows and 10 > columns. > How can I select rows comprising one or more values between a specific range > of two values? > So e.g. a row has one or more values between the range of 100 - 120. > > Cheers-- Dimitris Rizopoulos Assistant Professor Department of Biostatistics Erasmus Medical Center Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands Tel: +31/(0)10/7043478 Fax: +31/(0)10/7043014