Frostygoat
2011-Dec-07 00:25 UTC
[R] Rank samples by breaks in hist and assign result as factor
Hi R users, My goal is to rank my samples according to how they fall out in a histogram with 10 bins to produce a ranking for each sample according to where it falls on the histogram, with a "1" to represent one tail of the hist, a "10" to represent the other tail, and a "5" for the median/mean. I have a number of different data sets to do this with and in all cases I need this ranking between1-10 regardless of the number of samples in each set. e.g., x=rnorm(50) h=hist(x,breaks=10) h$breaks [1] -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 So, I want to add a factor to x where if x is less than -2.0, then new factor="1"; if x is greater than -2.0 but x is less than -1.5, then new factor="2", etc. rank doesn't seem to help Any tips? Thanks much.
David Winsemius
2011-Dec-07 04:47 UTC
[R] Rank samples by breaks in hist and assign result as factor
On Dec 6, 2011, at 7:25 PM, Frostygoat wrote:> Hi R users, > > My goal is to rank my samples according to how they fall out in a > histogram with 10 bins to produce a ranking for each sample according > to where it falls on the histogram, with a "1" to represent one tail > of the hist, a "10" to represent the other tail, and a "5" for the > median/mean. I have a number of different data sets to do this with > and in all cases I need this ranking between1-10 regardless of the > number of samples in each set. > > e.g., > > x=rnorm(50) > h=hist(x,breaks=10) > h$breaks > > [1] -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 > > So, I want to add a factor to x where if x is less than -2.0, then new > factor="1"; if x is greater than -2.0 but x is less than -1.5, then > new factor="2", etc.> xb <- as.numeric(cut(x, h$breaks)) > xb [1] 9 2 6 9 9 9 6 5 4 7 8 6 6 9 4 8 5 4 9 7 5 9 5 5 4 2 6 7 4 6 4 9 3 8 5 3 6 1 7 [40] 5 7 9 4 4 4 7 8 5 6 7 > str(xdf) 'data.frame': 50 obs. of 2 variables: $ x : num 1.577 -1.525 0.254 1.54 1.6 ... $ xbrks: num 9 2 6 9 9 9 6 5 4 7 ...> > rank doesn't seem to help > > Any tips? > > Thanks much. > > ______________________________________________ > R-help at 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.David Winsemius, MD West Hartford, CT