Hi: Here's one way:
m <- matrix(rpois(100, 8), nrow = 5) f <- function(x) { q <- quantile(x, c(0.1, 0.9), na.rm = TRUE) c(sum(x < q[1]), sum(x > q[2])) } t(apply(m, 1, f)) HTH, Dennis On Wed, Oct 5, 2011 at 8:11 PM, Ben qant <ccqu...@gmail.com> wrote: > Hello, > > I'm trying to get the count of values in each row that are above and below > quantile thresholds. Thanks! > > Example: > >> x = matrix(1:30,5,6) >> x > [,1] [,2] [,3] [,4] [,5] [,6] > [1,] 1 6 11 16 21 26 > [2,] 2 7 12 17 22 27 > [3,] 3 8 13 18 23 28 > [4,] 4 9 14 19 24 29 > [5,] 5 10 15 20 25 30 >> qtl = t(apply(x, 1, quantile, probs = c(.1,.9),na.rm=T)) >> qtl > 10% 90% > [1,] 3.5 23.5 > [2,] 4.5 24.5 > [3,] 5.5 25.5 > [4,] 6.5 26.5 > [5,] 7.5 27.5 > > I would like counts like this for each row: > > cnts > [,1] [,2] > [1,] 1 1 > [2,] 1 1 > [3,] 1 1 > [4,] 1 1 > [5,] 1 1 > > ...because for the first row (x[1,]) only value 1 is less than 3.5 and only > value 26 is greater 23.5 and so on for the other rows. I'm thinking its a > apply(x,1,...some FUN here...), but still getting use to apply and I've been > coding for too long... > > Also, if anyone knows how to change the background color of the r-Tinn > editor my eyes would love you! Off to bed. I look forward to your answers! > > Thanks! > > Ben > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.