[R] lattice histogram for multiple variables : adjusting x axis
Richard.Cotton at hsl.gov.uk
Richard.Cotton at hsl.gov.uk
Tue May 12 10:52:20 CEST 2009
> I have a large data frame and I want to look at the distribution of
> each variable very quickly by plotting an individual histogram for
> each variable.
> I'd like to do so using lattice.
>
> Here is a small example using the iris data set:
>
> histogram(as.formula(paste("~",paste(colnames(iris[,!sapply(iris,is.
> factor)]),collapse="+"))),data=iris[,!sapply(iris,is.factor)])
>
> However in this graphic, the x-axis and the breaks are the same for
> all 4 variables. I would like them to be adjusted to the data in
> each panel separately. I have tried using the scales argument to no
avail:
>
> histogram( as.formula(paste("~",paste(colnames(iris[,!sapply(iris,
> is.factor)]),collapse="+"))) ,data=iris[,!sapply(iris,is.factor)],
> scales=list(x=list(relation="free")) )
>
>
> How can I individualize the x-axis and breaks for each individual panel?
You're on the right track. If you don't specify a breaks argument, then
histogram calculates a common axis and breaks across all the panels.
Declaring breaks=NULL will force it to calculate them for each panel.
histogram(
as.formula(paste("~",paste(colnames(iris[,!sapply(iris,is.factor)]),collapse="+"))),
data=iris[,!sapply(iris,is.factor)],
scales=list(x=list(relation="free")),
breaks=NULL
)
You can also specify a hist-style method, e.g. breaks="Sturges" to get
what you want.
Regards,
Richie.
Mathematical Sciences Unit
HSL
------------------------------------------------------------------------
ATTENTION:
This message contains privileged and confidential inform...{{dropped:20}}
More information about the R-help
mailing list