[R] Newbie question - struggling with boxplots
David Winsemius
dwinsemius at comcast.net
Wed Aug 17 03:46:46 CEST 2011
On Aug 16, 2011, at 5:24 PM, Geoffrey Stoel wrote:
> Hopefully I will not be flamed for this on the list, but I am
> starting out
> with R and having some trouble with combining plots.
>
> I am playing with the famous iris dataset (checking out example
> dataset in R
> while reading through Introduction to datamining)
>
> What I would like to do is create three graphs (combined boxplots)
> besides
> each other for each of the three species (Setosa, Versicolour and
> Virginica)
> with each graph showing showing four boxplots Sepal.Length,
> Sepal.Width,
> Petal.Length and Petal.Width.
>
> I can create the boxplot for the total dataset by doing the following:
>
> data(iris);
> boxplot(iris[1:4]);
>
> However I would like to have this repeated for each Species in iris
> $Species,
> I know I can do this with:
>
> boxplot(subset(iris,Species=="setosa", select = (1:4)));
> boxplot(subset(iris,Species=="versicolor", select = (1:4)));
> boxplot(subset(iris,Species=="virginica", select = (1:4)));
>
> but I am lazy AND I want all three to be plotted besides each other
> AND I
> don't want to manually type the Species myself.
>
> is there an easier way to do this.... probably yes...
require(lattice)
require(reshape)
iris.m <- melt(iris, id = "Species")
> str(iris.m)
'data.frame': 600 obs. of 3 variables:
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1
1 1 1 1 ...
$ variable: Factor w/ 4 levels "Sepal.Length",..: 1 1 1 1 1 1 1 1 1
1 ...
$ value : num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
> bwplot(value ~ variable | Species, iris.m )
There would also be a way to send a list of Species to a function and
do it in base graphics but that is often less economical. In this
can, not so bad:
> opar <- par(mfcol=c(2,2))
> sapply(unique(iris$Species), function(x)
boxplot( subset(iris,Species==x, select = (1:4))) )
> par(opar)
>
> If you want to help me out... would be deeply appreciated..
>
> Kind regards,
>
> Geoffrey
>
> (new to R and datamining)
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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
More information about the R-help
mailing list