In addition to the other answers that you received you can also do: library(TeachingDemos) i[ quantile(i,.25) %<% i %<% quantile(i,.75) ]
This may or may not be more readable than the others. Also note that precomputing both quantiles in one step may be faster than calling quantile twice. You could also do a partial sort of your data and just pull out the middle section (though you would probably lose the ordering in the data). -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Maas James Dr (MED) > Sent: Thursday, February 17, 2011 3:09 AM > To: r-help@r-project.org > Subject: [R] removing lower and upper quantiles from an arry > > I'm trying to work out the simplest way to remove the upper and lower > quantiles, in this case upper and lower 25% from an array. I can do it > in two steps but when I try it in one, it fails. Is there something > simple missing from my syntax or are there other simple elegant way to > accomplish this? > > Thanks > > J > > > i <-1:20 > > i2 <- i[i<quantile(i,.75)] > > i3 <- i[i>quantile(i,.25)] > > i4 <- i[quantile(i,.25)< i > quantile(i,.75)] > Error: unexpected '>' in "i4 <- i[quantile(i,.25)< i >" > > =============================== > Dr. Jim Maas > University of East Anglia > > ______________________________________________ > 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.