display_rates.Rddisplay_rates take either a rates rates table -obtained with
compute_rates- or two tables -mortality and recruitment, obtained with
the corresponding compute_* functions-, and returns a nice graph
according to user-specified parameters. This function requires the
installation of the package ggplot2.
display_rates( mortality = NULL, recruitment = NULL, rates = NULL, type = "line", time_col = "time", color_col = "plot", faceting = FALSE, title = "Annual mortality and recruitment rates in function of census intervals.", subtitle = NULL, save_graph = FALSE, device = "png", path_save = file.path("ForestGraphs", paste0("annual_mortality_recruitment_", type, ".png")), name = "annual_recruitment_mortality.png", create_folder = FALSE, overwrite = FALSE, ... )
| mortality | data.frame, output of  | 
|---|---|
| recruitment | data.frame, output of  | 
| rates | data.frame, output of compute_rates or merged outputs of compute_mortality and compute_recruitment. | 
| type | character, partially matching one of the following: "line",
"histogram", "bar", "smooth". For the moment, only "line" is implemented,
being the most relevant in this case. Corresponds to the type of graph to
be done, for examples see  | 
| time_col | Character, name of the column corresponding to census time | 
| color_col | Character, name of the colomn used to define lines' colors, defaults to "Plot". | 
| faceting | Character, name of the variable used for faceting -see after- but defaults to FALSE i.e. no faceting. NB: faceting refers to using a grouping variable to layout multiple plots, each corresponding to a category of the grouping variable. See details for a pratical explanation. The scales are free on the x axis: t correspond to several groups not necessarily having the same censusing temporal resolution; but are bound on the y-axis: the values are displayed on the same scale for comparison purposes. | 
| title | Character,title of the graph. | 
| subtitle | Character, subtitle of the graph. Defaults to  | 
| save_graph | Logical, indicates whether the graph must be saved or not.
Defaults to  | 
| device | Relevant if  | 
| path_save | Relevant if  | 
| name | Relevant if  | 
| create_folder | Relevant if  | 
| overwrite | Relevant if  | 
| ... | Additionnal arguments to be passed to inernals, and ggplot2 utilities. | 
A ggplot2 graphical object. See
  ggplot2::ggplot.
About displaying multiple variables and avoiding unreadability:
Imagine a mortality and recruitment table computed for 3 species in 4
different plots, for 20 censuses, with corresponding columns named
"Plot", "Species" and "time". Then, imagine displaying
it using type = 'line'. All this information can be displayed in one
call of display_rates, with different possible combinations:
- One graph per forest plot, with the color of each line segregating species,
and the linetype segregating mortality and recruitement rates. This can be
done with the arguments color_col = "Species" and  faceting =
"Plot", with the argument linetype not specified, thus internally
defaulted.
- One graph per species, with the color of each line segregating plots, and
the linetype segregating mortality and recruitement rates. The  function call
has thus the arguments color_col = "Species" and  faceting =
"Plot" again without speciying linetype.
Mortality and recruitment are defaultly segregated with different line types
-e.g. full and dotted-, but this variable type can also be used to facet,
yielding one plot for mortality rates and another for recruitment: for
example, using linetype  = "Species", color_col = "Plot"
faceting = "rate".
In this case, using the linetype additionnal argument to display another variable must be done with some caution: if there are too many categories in this other variable, they would hardly -if not impossibly- be visually segregated by line types.
Detail of the additionnal arguments
The arguments corresponding to ... here encompass a limited number of
parameters that are internally set if not specified. These parameters are
passed to different sub-functions. Here is the detailed list of these
arguments.
x.axis.name and y.axis.name are the axis labels to be passed to
ggplot2::xlab and ggplot2::ylab
transparence is the scalar value of alpha in
ggplot2::geom_* functions.
linewidth is the scalar value of size in
gplot2::geom_line -to be used with type='line'.
Note that a variable's name -in the dataset- can also be provided to make
vary these parameters according to the data. In such case, these arguments
are passed to ggplot2::aes instead.
linetype is originally set to differenciate the rates -mortality and
recruitment- for use with type = 'line'. It means that
linetype="rate" -a name set internally as the data is reshaped to long
format before displaying. This argument is originally passed to
ggplot2::aes_string. In case the user wants to e.g. facet rates into
two separate plots and use a constant linetype instead, they just have
to specify e.g. linetype=1 and it will be passed to geom_line
instead.
x.text.angle and y.text.angle is the angle of the axis ticks'
labels. It is set to be 0 -horizontal- for y and 90 -vertical- for x, because
it helps reading census times by avoiding overlaps. These are passed to
gplot2::element_text within ggplot2::theme