Learn R Programming

FSA (version 0.8.6)

ageKeyPlot: Plots to visualize age-length keys.

Description

Various plots to visualize the proportion of fish of certain ages within length intervals in an age-length key.

Usage

ageKeyPlot(key, type = c("barplot", "area", "lines", "splines", "bubble"),
  xlab = "Length", ylab = ifelse(type != "bubble", "Proportion", "Age"),
  xlim = NULL, ylim = NULL, showLegend = FALSE, lbl.cex = 1.25,
  leg.cex = 1, lwd = 2, span = 0.25, pal = paletteChoices(),
  grid = TRUE, col = "gray80", buf = 0.45, add = FALSE, ...)

alkPlot(key, type = c("barplot", "area", "lines", "splines", "bubble"),
  xlab = "Length", ylab = ifelse(type != "bubble", "Proportion", "Age"),
  xlim = NULL, ylim = NULL, showLegend = FALSE, lbl.cex = 1.25,
  leg.cex = 1, lwd = 2, span = 0.25, pal = paletteChoices(),
  grid = TRUE, col = "gray80", buf = 0.45, add = FALSE, ...)

Arguments

key
A numeric matrix that contains the age-length key.
type
A string that indicates the type of plot to construct. See details.
xlab, ylab
A string that contains the label for the x- or y-axis.
xlim, ylim
A numeric of length 2 that provide the limits for the x-axis or y-axis.
showLegend
A logical that indicates whether a legend should be displayed (not implemented for type="bubble"). See examples.
lbl.cex
A numeric character expansion value for labels inside the bars when type="barplot" or on the lines when type="lines" or type="splines". Only used if showLegend=FALSE.
leg.cex
A numeric character expansion value for labels on the legend when showLegend=TRUE.
lwd
A numeric that indicates the line width when type="lines" or type="splines".
span
A numeric that indicates the span value to use in loess when type="splines".
pal
A string that indicates the palette to generate colors for the bars, areas, lines, or spline lines. The name of a palette must be one of rich, cm, default, grey, gray, <
grid
A logical that indicates whether a grid should be placed under the bubbles when type="bubble" or a character or appropriate vector that identifies a color for the grid. See examples.
col
A string that indicates the color of the bubbles when type="bubble".
buf
A single numeric that indicates the relative width of the bubbles when type="bubble". A value of 0.5 means that two full-width bubbles would touch each other either in the x- or y-direction (i.e., this would represent half of the minimum of
add
A logical that indicates whether the data should be added to an already existing plot. May be useful for visually comparing age-length keys. Only implemented when type="bubble".
...
Additional arguments to pass to plot or barplot.

Value

  • None, but a plot is constructed.

IFAR Chapter

5-Age-Length Key.

Details

A variety of plots can be used to visualize the proportion of fish of certain ages within length intervals of an age-length key. The types of plots are described below and illustrated in the examples.
  • Astackedbar chart where vertical bars over length intervals sum to 1 but are segmented by the proportion of each age in that length interval is constructed withtype="barplot". The ages will be labeled in the bar segments unlessshowLegend=TRUEis used.
  • Astackedarea chart similar to the bar chart described above is constructed withtype="area".
  • A plot with (differently colored) lines that connect the proportions of ages within each length interval is constructed withtype="lines".
  • A plot with (differently colored) lines, as estimated by loess splines, that connect the proportions of ages within each length interval is constructed withtype="splines".
  • Abubbleplot where circles whose size is proportional to the proportion of fish of each age in each length interval is constructed withtype="bubble". The color of the bubbles can be controlled withcol=and an underlying grid for ease of seeing the age and length interval for each bubble can be controlled withgrid=. Bubbles from a second age-length key can be overlaid on an already constructed bubble plot by usingadd=TRUEin a second call toalkPlot.
Note that all plots are vertically conditional -- i.e., each represents the proportional ages WITHIN each length interval.

References

Ogle, D.H. 2016. http://derekogle.com/IFAR{Introductory Fisheries Analyses with R}. Chapman & Hall/CRC, Boca Raton, FL.

See Also

See alkIndivAge for using an age-length key to assign ages to individual fish.

Examples

Run this code
## Make an example age-length key -- same as in ageKey()
data(WR79)
WR.age <- subset(WR79, !is.na(age))      # isolate the age sample
WR.age$LCat <- lencat(WR.age$len,w=5)    # add length intervals (width=5)
raw <- xtabs(~LCat+age,data=WR.age)      # create age-length key
( WR.key <- prop.table(raw, margin=1) )

## Various visualizations of the age-length key
alkPlot(WR.key,"barplot")
alkPlot(WR.key,"barplot",pal="gray")
alkPlot(WR.key,"barplot",showLegend=TRUE)
alkPlot(WR.key,"area")
alkPlot(WR.key,"area",showLegend=TRUE)
alkPlot(WR.key,"area",pal="gray")
alkPlot(WR.key,"lines")
alkPlot(WR.key,"lines",pal="gray")
alkPlot(WR.key,"lines",showLegend=TRUE)
alkPlot(WR.key,"splines")
alkPlot(WR.key,"splines",span=0.2)
alkPlot(WR.key,"splines",pal="gray",showLegend=TRUE)
alkPlot(WR.key,"bubble")
alkPlot(WR.key,"bubble",grid=FALSE)
alkPlot(WR.key,"bubble",grid="blue")
alkPlot(WR.key,"bubble",grid=rgb(0,0,0,0.2),col=rgb(0,0,0,0.5))

Run the code above in your browser using DataLab