Create Age Plot

plot_Ages(
  object,
  sample_names = NULL,
  sample_order = NULL,
  plot_mode = "ages",
  ...
)

Arguments

object

list or data.frame (required): Output as created by functions like AgeC14_Computation, which is a list of class BayLum.list. Alternatively the function supports a data.frame as input, however, in such a case the data.frame must resemble the ages data.frame created by the computation functions otherwise the input will be silently ignored.

sample_names

character (optional): alternative sample names used for the plotting. If the length of the provided character vector is shorter than the real number of samples, the names are recycled.

sample_order

numeric (optional): argument to rearrange the sample order, e.g., sample_order = c(4:1) plots the last sample first.

plot_mode

character (with default): allows to switch from displaying ages as points with lines ("ages") for the credible intervals to densities ("density")

...

further arguments to control the plot output, standard arguments are: cex, xlim, main, xlab, col further (non-standard) arguments are: grid (TRUE/FALSE), legend (TRUE/FALSE), legend.text (character input needed), legend.pos graphics::legend, legend.cex. Additional arguments: d_scale (scales density plots), show_ages (add ages to density plots)

Value

The function returns a plot and the data.frame used to display the data

Details

This function creates an age plot showing the mean ages along with the credible intervals. The function provides various arguments to modify the plot output, however, for an ultimate control the function returns the data.frame extracted from the input object for own plots.

Function version

0.1.5

Author

Sebastian Kreutzer, Institute of Geography, Ruprecht-Karl-University of Heidelberg (Germany), based on code written by Claire Christophe

How to cite

Kreutzer, S., Christophe, C., 2024. plot_Ages(): Create Age Plot. Function version 0.1.5. In: Christophe, C., Philippe, A., Kreutzer, S., Guérin, G., Baumgarten, F.H., Frerebeau, N., 2024. BayLum: Chronological Bayesian Models Integrating Optically Stimulated. R package version 0.3.2. https://CRAN.r-project.org/package=BayLum

Examples

## load data
data(DATA_C14,envir = environment())
C14Cal <- DATA_C14$C14[,1]
SigmaC14Cal <- DATA_C14$C14[,2]
Names <- DATA_C14$Names
nb_sample <- length(Names)

## Age computation
Age <- AgeC14_Computation(
   Data_C14Cal = C14Cal,
   Data_SigmaC14Cal = SigmaC14Cal,
   SampleNames = Names,
   Nb_sample = nb_sample,
   PriorAge = rep(c(20,60),nb_sample),
   Iter = 500,
   quiet = TRUE)
#> Warning: [plot_MCMC()] 'n.iter' out of range, reset to number of observations




#> 
#> 
#> >> MCMC Convergence of Age parameters <<
#> ----------------------------------------------
#> Sample name   Bayes estimate   Uppers credible interval
#> A_S-EVA-26510 	 1.033 		 1.117 
#> A_S-EVA-26506 	 1.001 		 1.004 
#> A_S-EVA-26507 	 1.022 		 1.076 
#> A_S-EVA-26508 	 0.998 		 0.999 
#> 
#> 
#> ---------------------------------------------------------------------------------------------------
#>  *** WARNING: The following information are only valid if the MCMC chains have converged  ***
#> ---------------------------------------------------------------------------------------------------
#> 
#> 
#> 
#> >> Bayes estimates of Age for each sample and credible interval <<
#> ------------------------------------------------------
#> Sample name 	 Bayes estimate  Credible interval: 
#> A_S-EVA-26510 	 41.9731767237769 
#> 						 lower bound 	 upper bound
#> 				 at level 95% 	 41.468 		 42.35 
#> 				 at level 68% 	 41.858 		 42.23 
#> ------------------------------------------------------
#> Sample name 	 Bayes estimate  Credible interval: 
#> A_S-EVA-26506 	 45.7184232669172 
#> 						 lower bound 	 upper bound
#> 				 at level 95% 	 45.042 		 46.243 
#> 				 at level 68% 	 45.469 		 45.962 
#> ------------------------------------------------------
#> Sample name 	 Bayes estimate  Credible interval: 
#> A_S-EVA-26507 	 44.9793795522593 
#> 						 lower bound 	 upper bound
#> 				 at level 95% 	 44.088 		 46.021 
#> 				 at level 68% 	 44.3 		 45.332 
#> ------------------------------------------------------
#> Sample name 	 Bayes estimate  Credible interval: 
#> A_S-EVA-26508 	 44.9898121956084 
#> 						 lower bound 	 upper bound
#> 				 at level 95% 	 43.973 		 46.031 
#> 				 at level 68% 	 44.55 		 45.471 
#> 
#> ------------------------------------------------------



## plot output
plot_Ages(Age)

#>        SAMPLE      AGE HPD68.MIN HPD68.MAX HPD95.MIN HPD95.MAX ALT_SAMPLE_NAME
#> 1 S-EVA-26510 41.97318    41.858    42.230    41.468    42.350              NA
#> 2 S-EVA-26506 45.71842    45.469    45.962    45.042    46.243              NA
#> 3 S-EVA-26507 44.97938    44.300    45.332    44.088    46.021              NA
#> 4 S-EVA-26508 44.98981    44.550    45.471    43.973    46.031              NA
#>   AT
#> 1  4
#> 2  3
#> 3  2
#> 4  1

## plot output
plot_Ages(Age, plot_mode = "density")

#>        SAMPLE      AGE HPD68.MIN HPD68.MAX HPD95.MIN HPD95.MAX ALT_SAMPLE_NAME
#> 1 S-EVA-26510 41.97318    41.858    42.230    41.468    42.350              NA
#> 2 S-EVA-26506 45.71842    45.469    45.962    45.042    46.243              NA
#> 3 S-EVA-26507 44.97938    44.300    45.332    44.088    46.021              NA
#> 4 S-EVA-26508 44.98981    44.550    45.471    43.973    46.031              NA
#>   AT
#> 1  4
#> 2  3
#> 3  2
#> 4  1