Re: [R] Own classes in "histogram"

From: Deepayan Sarkar <>
Date: Wed, 16 Jan 2008 09:20:18 -0800

On 1/16/08, Denis Aydin <> 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

## 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 mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Wed 16 Jan 2008 - 17:23:38 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 16 Jan 2008 - 17:30:07 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive