[R] Own classes in "histogram"
Deepayan Sarkar
deepayan.sarkar at gmail.com
Wed Jan 16 18:20:18 CET 2008
On 1/16/08, Denis Aydin <Denis.Aydin at stud.unibas.ch> wrote:
> Hi,
>
> I try to make a histogram from a variable that contains the number of
> shoots from about 1000 individuals from a specific plant species (the range is 1-110).
> Those numbers are highly skewed to the right.
I would suggest you consider transforming the values first (log or
square root would be typical); that might address the problems caused
by skewness.
> My question is: how can I make my own classes with the lattice
> "histogram"?
>
> I tried it with "breaks=c(0,5,10,15,20,25,110)" but my "25-110"-class is presented
> as one huge bin ranging from 25 to 110.
Yes, that's how it's supposed to be in a ``histogram''.
> Is there a way to plot this bin in equal size as the others?
Yes, but the result is no longer a histogram but a bar plot. You can
discretize your data into a factor with appropriate levels using the
'cut' function; e.g. something like
xdisc <- cut(x, breaks=c(0,5,10,15,20,25,110))
and then plot it using
barchart(table(xdisc))
## or perhaps
barchart(table(xdisc), horizontal=FALSE)
> And how is it possible to change the annotation of the x-axis, let's
> say the last tick named ">25"?
The easiest way is to change the relevant label, e.g.
levels(xdisc)[6] <- "> 25"
-Deepayan
More information about the R-help
mailing list