GRAPHS ETC., PART 2. Point plots with error bars Multiple-panel graphs Adjusting figure margins Adding text & lines to graphs. 19 September 2014 Sherubtse Training. MORNING PRACTICE.
GRAPHS ETC., PART 2
Point plots with error bars
Adjusting figure margins
Adding text & lines to graphs
19 September 2014 Sherubtse Training
Create a data frame of only UWICE MALES HtWt data. Make a scatterplot showing the relationship between height & weight. Learn and use as many par() arguments as possible in your scatterplot.
What kind of summary data
would be useful and interestingto display and graph?
Use the functions by() and aggregate() to calculate (separately) mean & sd of number of sightings (averaged across 5 transects), by species
mean.ag <- aggregate(Count~Species, data=sightings, mean)
mean.by <- by(sightings$Count, sightings$Species, mean)
To calculate mean & sd simultaneously...
mean.sd.ag <- aggregate(Count~Species, data=sightings, FUN=function(x) c(mn=mean(x), stdev=sd(x)))
To show counts from one transect, use bar plots (or pie charts, for
relative frequency) because there
would be no error to display
If the data for each species are averaged across 5 different transects, then there WOULD be error associated with the average # of sightingsfor each species. In this case, a point plot would show the mean and error better than a bar plot would.
Load the package plotrix, import the sightings data, and create this initial point plot showing mean ± SE
To get the filled round points, use the argument pch=16
With plotrix, we have to do some things to remove the funny x-values and add buffer on the plot sides...
Add these arguments in function plotCI: xaxt="n", xlim=c(0.75,4.25)
Learn how to adjust plot margins and add text anywhere you want. Type each line, then run it:
default.par<-par(no.readonly=T) # start by saving default graphic parameters
par(mfrow=c(1,2), oma = c(0,0,3,0))
par(mar=c(6,4,0.5,0.5)) # margins for left-side plot
plotCI(mean.by, uiw=SE.by, pch=16, ylab="Mean # of sightings", xaxt="n", xlab="", xlim=c(0.75,4.25))
mtext(names(mean.by), at=1:4, line=0.5, side=1, las=3)
par(mar=c(4,0.5,2,0.5)) # margins for right-side plot
plotCI(mean.by, uiw=SE.by, pch=16, xaxt="n", xlab="", ylab="", yaxt="n", xlim=c(0.75,4.25))
mtext("Text indented above plot!", col="blue",side=3, line=0.5)
mtext("This is how we place text\nin the outer margins", cex=1.5, col="purple", line=-.5, side = 3, outer=T)
To set par back to default: par(default.par)
play around with the argument mpgto see what it does
What kinds of interesting questions can we ask?What graphs would we make to answer them?