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@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

______________________________________________
R-help@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.

Reply via email to