Let us return to the original figure we explored in Introduction-to-SIBER where we had two communities side-by-side, and we wanted to ask whether they differed in how the individuals and populations within were distributed in isotope-space.


library(SIBER, quietly = TRUE,
        verbose = FALSE,
        logical.return = FALSE)

mydata <- read.csv("../data/example_layman_data_all.csv", 
                   header = TRUE)

# create the siber object
siber.example <- createSiberObject(mydata)

# Create lists of plotting arguments to be passed onwards to each 
# of the three plotting functions.
community.hulls.args <- list(col = "black", lty = 1, lwd = 1)
group.ellipses.args  <- list(n = 100, p.interval = 0.95, lty = 1, lwd = 2)
group.hull.args      <- list(lty = 2, col = "grey20")

# plot the raw data
par(mfrow=c(1,1))
plotSiberObject(siber.example,
                  ax.pad = 2, 
                  hulls = TRUE, community.hulls.args, 
                  ellipses = FALSE, group.ellipses.args,
                  group.hulls = FALSE, group.hull.args,
                  bty = "L",
                  iso.order = c(1,2),
                  xlab = expression({delta}^13*C~'\u2030'),
                  ylab = expression({delta}^15*N~'\u2030')
                  )

# add the confidence interval of the means to help locate
# the centre of each data cluster
plotGroupEllipses(siber.example, n = 100, p.interval = 0.95,
                  ci.mean = TRUE, lty = 1, lwd = 2)

NA
NA
NA

With a convex hull drawn between the means of the populations that make up the communities, it certainly appears that Community 2 (triangles) occupies a larger portion of isotope-space than Community 1 (circles). Just as is the case when fitting ellipses to the popuations within a community, there is uncertainty involved in estimating the means that describe their centroid (centre of mass). We can exploit this uncertainty to calculate a range of convex hulls that have a robust probabalistic interpretation within the Bayesian framework we use to estimate the means of the data. More than just convex hulls, we can calculate all 6 of the metrics proposed in Layman et al 2007.

Estimating these metrics is straight forward in SIBER once you have created the SIBER object with createSiberObject().


# Fit the Bayesian models

# options for running jags
parms <- list()
parms$n.iter <- 2 * 10^4   # number of iterations to run the model for
parms$n.burnin <- 1 * 10^3 # discard the first set of values
parms$n.thin <- 10     # thin the posterior by this many
parms$n.chains <- 2        # run this many chains

# define the priors
priors <- list()
priors$R <- 1 * diag(2)
priors$k <- 2
priors$tau.mu <- 1.0E-3

# fit the ellipses which uses an Inverse Wishart prior
# on the covariance matrix Sigma, and a vague normal prior on the 
# means. Fitting is via the JAGS method.
ellipses.posterior <- siberMVN(siber.example, parms, priors)
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 20
   Unobserved stochastic nodes: 3
   Total graph size: 35

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 20
   Unobserved stochastic nodes: 3
   Total graph size: 35

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 20
   Unobserved stochastic nodes: 3
   Total graph size: 35

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 20
   Unobserved stochastic nodes: 3
   Total graph size: 35

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 8
   Unobserved stochastic nodes: 3
   Total graph size: 23

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 8
   Unobserved stochastic nodes: 3
   Total graph size: 23

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 8
   Unobserved stochastic nodes: 3
   Total graph size: 23

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%
Compiling model graph
   Resolving undeclared variables
   Allocating nodes
Graph information:
   Observed stochastic nodes: 8
   Unobserved stochastic nodes: 3
   Total graph size: 23

Initializing model


  |                                                        
  |                                                  |   0%
  |                                                        
  |*                                                 |   2%
  |                                                        
  |**                                                |   4%
  |                                                        
  |***                                               |   6%
  |                                                        
  |****                                              |   8%
  |                                                        
  |*****                                             |  10%
  |                                                        
  |******                                            |  12%
  |                                                        
  |*******                                           |  14%
  |                                                        
  |********                                          |  16%
  |                                                        
  |*********                                         |  18%
  |                                                        
  |**********                                        |  20%
  |                                                        
  |***********                                       |  22%
  |                                                        
  |************                                      |  24%
  |                                                        
  |*************                                     |  26%
  |                                                        
  |**************                                    |  28%
  |                                                        
  |***************                                   |  30%
  |                                                        
  |****************                                  |  32%
  |                                                        
  |*****************                                 |  34%
  |                                                        
  |******************                                |  36%
  |                                                        
  |*******************                               |  38%
  |                                                        
  |********************                              |  40%
  |                                                        
  |*********************                             |  42%
  |                                                        
  |**********************                            |  44%
  |                                                        
  |***********************                           |  46%
  |                                                        
  |************************                          |  48%
  |                                                        
  |*************************                         |  50%
  |                                                        
  |**************************                        |  52%
  |                                                        
  |***************************                       |  54%
  |                                                        
  |****************************                      |  56%
  |                                                        
  |*****************************                     |  58%
  |                                                        
  |******************************                    |  60%
  |                                                        
  |*******************************                   |  62%
  |                                                        
  |********************************                  |  64%
  |                                                        
  |*********************************                 |  66%
  |                                                        
  |**********************************                |  68%
  |                                                        
  |***********************************               |  70%
  |                                                        
  |************************************              |  72%
  |                                                        
  |*************************************             |  74%
  |                                                        
  |**************************************            |  76%
  |                                                        
  |***************************************           |  78%
  |                                                        
  |****************************************          |  80%
  |                                                        
  |*****************************************         |  82%
  |                                                        
  |******************************************        |  84%
  |                                                        
  |*******************************************       |  86%
  |                                                        
  |********************************************      |  88%
  |                                                        
  |*********************************************     |  90%
  |                                                        
  |**********************************************    |  92%
  |                                                        
  |***********************************************   |  94%
  |                                                        
  |************************************************  |  96%
  |                                                        
  |************************************************* |  98%
  |                                                        
  |**************************************************| 100%

We can then plot out the estimated posterior distribution for each of the metrics. One of the difficulties in putting all of them on the same figure is that the convex hull (TA) tends to be much larger in magnitude (it is in units squared after all) and so it can distort the presentation of the others. I tend to plot it separately to the other metrics, at least for a first attempt.

# extract the posterior means
mu.post <- extractPosteriorMeans(siber.example, ellipses.posterior)

# calculate the corresponding distribution of layman metrics
layman.B <- bayesianLayman(mu.post)


# --------------------------------------
# Visualise the first community
# --------------------------------------

# drop the 3rd column of the posterior which is TA using -3.
siberDensityPlot(layman.B[[1]][ , -3], 
                 xticklabels = colnames(layman.B[[1]][ , -3]), 
                 bty="L", ylim = c(0,20))

# add the ML estimates (if you want). Extract the correct means 
# from the appropriate array held within the overall array of means.
comm1.layman.ml <- laymanMetrics(siber.example$ML.mu[[1]][1,1,],
                                 siber.example$ML.mu[[1]][1,2,]
                                 )

# again drop the 3rd entry which relates to TA
points(1:5, comm1.layman.ml$metrics[-3], 
       col = "red", pch = "x", lwd = 2)



# --------------------------------------
# Visualise the second community
# --------------------------------------
siberDensityPlot(layman.B[[2]][ , -3], 
                 xticklabels = colnames(layman.B[[2]][ , -3]), 
                bty="L", ylim = c(0,20))

# add the ML estimates. (if you want) Extract the correct means 
# from the appropriate array held within the overall array of means.
comm2.layman.ml <- laymanMetrics(siber.example$ML.mu[[2]][1,1,],
                                 siber.example$ML.mu[[2]][1,2,]
                                )
points(1:5, comm2.layman.ml$metrics[-3], 
       col = "red", pch = "x", lwd = 2)


# --------------------------------------
# Alternatively, pull out TA from both and aggregate them into a 
# single matrix using cbind() and plot them together on one graph.
# --------------------------------------

# go back to a 1x1 panel plot
par(mfrow=c(1,1))


# Now we only plot the TA data. We could address this as either
# layman.B[[1]][, "TA"]
# or
# layman.B[[1]][, 3]
siberDensityPlot(cbind(layman.B[[1]][ , "TA"], 
                       layman.B[[2]][ , "TA"]),
                xticklabels = c("Community 1", "Community 2"), 
                bty="L", ylim = c(0, 90),
                las = 1,
                ylab = "TA - Convex Hull Area",
                xlab = "")



# We can take the code from just above for TA and simply 
# swap out the metric of choice for whatever we want. 
# Here I do this for NND and take care to change the 
# y axis labels too.
siberDensityPlot(cbind(layman.B[[1]][ , "NND"], 
                       layman.B[[2]][ , "NND"]),
                xticklabels = c("Community 1", "Community 2"), 
                bty="L", ylim = c(0, 10),
                las = 1,
                ylab = "NND (nearest neighbour distance)",
                xlab = "")


siberDensityPlot(cbind(layman.B[[1]][ , "dX_range"], 
                       layman.B[[2]][ , "dX_range"]),
                xticklabels = c("Community 1", "Community 2"), 
                bty="L", ylim = c(0, 30),
                las = 1,
                ylab = "dX",
                xlab = "")

And that pretty is pretty much that for comparing these metrics across communities, except perhaps to make a probabalistic statement about how dNr (for example) differs between Community 1 and Community 2. In this case, what is the probability that dNr in Community 1 is less than dNr in Community 2?


dNr1.lt.dNr2 <- sum(layman.B[[1]][,"dY_range"] < 
                      layman.B[[2]][,"dY_range"]) / 
                length(layman.B[[1]][,"dY_range"])

print(dNr1.lt.dNr2)
[1] 0.99625
LS0tCnRpdGxlOiAiQ29tcGFyaW5nIGNvbW11bml0aWVzIGluIGlzb3RvcGUtc3BhY2UiCmF1dGhvcjogIkFuZHJldyBMIEphY2tzb24iCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCLCAlWScpYCIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSwgZmlnLndpZHRoID0gNywgZmlnLmhlaWdodCA9IDd9CmxpYnJhcnkodmlyaWRpcykKCiMgY2hvb3NlIDQgY29sb3VycyBmcm9tIHRoZSB2aXJpZGlzIGNvbG9yIHBhbGV0dGUgYmVjYXVzZQojIHdlIGhhdmUgNCBncm91cHMgaW4gZWFjaCBjb21tdW5pdHkgYW5kIHdlIHdhbnQgdG8gcGxvdCB0aGVtIAojIGluIGRpZmZlcmVudCBjb2xvdXJzLgpwYWxldHRlKHZpcmlkaXMoNCkpCmBgYApMZXQgdXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBmaWd1cmUgd2UgZXhwbG9yZWQgaW4gW0ludHJvZHVjdGlvbi10by1TSUJFUl0oSW50cm9kdWN0aW9uLXRvLVNJQkVSLmh0bWwpIHdoZXJlIHdlIGhhZCB0d28gY29tbXVuaXRpZXMgc2lkZS1ieS1zaWRlLCBhbmQgd2Ugd2FudGVkIHRvIGFzayB3aGV0aGVyIHRoZXkgZGlmZmVyZWQgaW4gaG93IHRoZSBpbmRpdmlkdWFscyBhbmQgcG9wdWxhdGlvbnMgd2l0aGluIHdlcmUgZGlzdHJpYnV0ZWQgaW4gaXNvdG9wZS1zcGFjZS4KCgpgYGB7ciwgZWNobz1UUlVFLCBtZXNzYWdlID0gRkFMU0UsIGZpZy53aWR0aCA9IDgsIGZpZy5oZWlnaHQgPSA2fQoKbGlicmFyeShTSUJFUiwgcXVpZXRseSA9IFRSVUUsCiAgICAgICAgdmVyYm9zZSA9IEZBTFNFLAogICAgICAgIGxvZ2ljYWwucmV0dXJuID0gRkFMU0UpCgpteWRhdGEgPC0gcmVhZC5jc3YoIi4uL2RhdGEvZXhhbXBsZV9sYXltYW5fZGF0YV9hbGwuY3N2IiwgCiAgICAgICAgICAgICAgICAgICBoZWFkZXIgPSBUUlVFKQoKIyBjcmVhdGUgdGhlIHNpYmVyIG9iamVjdApzaWJlci5leGFtcGxlIDwtIGNyZWF0ZVNpYmVyT2JqZWN0KG15ZGF0YSkKCiMgQ3JlYXRlIGxpc3RzIG9mIHBsb3R0aW5nIGFyZ3VtZW50cyB0byBiZSBwYXNzZWQgb253YXJkcyB0byBlYWNoIAojIG9mIHRoZSB0aHJlZSBwbG90dGluZyBmdW5jdGlvbnMuCmNvbW11bml0eS5odWxscy5hcmdzIDwtIGxpc3QoY29sID0gImJsYWNrIiwgbHR5ID0gMSwgbHdkID0gMSkKZ3JvdXAuZWxsaXBzZXMuYXJncyAgPC0gbGlzdChuID0gMTAwLCBwLmludGVydmFsID0gMC45NSwgbHR5ID0gMSwgbHdkID0gMikKZ3JvdXAuaHVsbC5hcmdzICAgICAgPC0gbGlzdChsdHkgPSAyLCBjb2wgPSAiZ3JleTIwIikKCiMgcGxvdCB0aGUgcmF3IGRhdGEKcGFyKG1mcm93PWMoMSwxKSkKcGxvdFNpYmVyT2JqZWN0KHNpYmVyLmV4YW1wbGUsCiAgICAgICAgICAgICAgICAgIGF4LnBhZCA9IDIsIAogICAgICAgICAgICAgICAgICBodWxscyA9IFRSVUUsIGNvbW11bml0eS5odWxscy5hcmdzLCAKICAgICAgICAgICAgICAgICAgZWxsaXBzZXMgPSBGQUxTRSwgZ3JvdXAuZWxsaXBzZXMuYXJncywKICAgICAgICAgICAgICAgICAgZ3JvdXAuaHVsbHMgPSBGQUxTRSwgZ3JvdXAuaHVsbC5hcmdzLAogICAgICAgICAgICAgICAgICBidHkgPSAiTCIsCiAgICAgICAgICAgICAgICAgIGlzby5vcmRlciA9IGMoMSwyKSwKICAgICAgICAgICAgICAgICAgeGxhYiA9IGV4cHJlc3Npb24oe2RlbHRhfV4xMypDfidcdTIwMzAnKSwKICAgICAgICAgICAgICAgICAgeWxhYiA9IGV4cHJlc3Npb24oe2RlbHRhfV4xNSpOfidcdTIwMzAnKQogICAgICAgICAgICAgICAgICApCgojIGFkZCB0aGUgY29uZmlkZW5jZSBpbnRlcnZhbCBvZiB0aGUgbWVhbnMgdG8gaGVscCBsb2NhdGUKIyB0aGUgY2VudHJlIG9mIGVhY2ggZGF0YSBjbHVzdGVyCnBsb3RHcm91cEVsbGlwc2VzKHNpYmVyLmV4YW1wbGUsIG4gPSAxMDAsIHAuaW50ZXJ2YWwgPSAwLjk1LAogICAgICAgICAgICAgICAgICBjaS5tZWFuID0gVFJVRSwgbHR5ID0gMSwgbHdkID0gMikKCgoKYGBgCgpXaXRoIGEgY29udmV4IGh1bGwgZHJhd24gYmV0d2VlbiB0aGUgbWVhbnMgb2YgdGhlIHBvcHVsYXRpb25zIHRoYXQgbWFrZSB1cCB0aGUgY29tbXVuaXRpZXMsIGl0IGNlcnRhaW5seSBhcHBlYXJzIHRoYXQgX19Db21tdW5pdHkgMl9fICh0cmlhbmdsZXMpIG9jY3VwaWVzIGEgbGFyZ2VyIHBvcnRpb24gb2YgaXNvdG9wZS1zcGFjZSB0aGFuIF9fQ29tbXVuaXR5IDFfXyAoY2lyY2xlcykuIEp1c3QgYXMgaXMgdGhlIGNhc2Ugd2hlbiBmaXR0aW5nIGVsbGlwc2VzIHRvIHRoZSBwb3B1YXRpb25zIHdpdGhpbiBhIGNvbW11bml0eSwgdGhlcmUgaXMgdW5jZXJ0YWludHkgaW52b2x2ZWQgaW4gZXN0aW1hdGluZyB0aGUgbWVhbnMgdGhhdCBkZXNjcmliZSB0aGVpciBjZW50cm9pZCAoY2VudHJlIG9mIG1hc3MpLiBXZSBjYW4gZXhwbG9pdCB0aGlzIHVuY2VydGFpbnR5IHRvIGNhbGN1bGF0ZSBhIHJhbmdlIG9mIGNvbnZleCBodWxscyB0aGF0IGhhdmUgYSByb2J1c3QgcHJvYmFiYWxpc3RpYyBpbnRlcnByZXRhdGlvbiB3aXRoaW4gdGhlIEJheWVzaWFuIGZyYW1ld29yayB3ZSB1c2UgdG8gZXN0aW1hdGUgdGhlIG1lYW5zIG9mIHRoZSBkYXRhLiBNb3JlIHRoYW4ganVzdCBjb252ZXggaHVsbHMsIHdlIGNhbiBjYWxjdWxhdGUgYWxsIDYgb2YgdGhlIG1ldHJpY3MgcHJvcG9zZWQgaW4gW0xheW1hbiBldCBhbCAyMDA3XShodHRwczovL3NjaG9sYXIuZ29vZ2xlLmNvbS9jaXRhdGlvbnM/dmlld19vcD12aWV3X2NpdGF0aW9uJmhsPWVuJnVzZXI9NnlWX29lb0FBQUFKJmNpdGF0aW9uX2Zvcl92aWV3PTZ5Vl9vZW9BQUFBSjp1LXg2bzh5U0cwc0MpLiAKCiogX19UQV9fIC0gdGhlIGFyZWEgb2YgY29udmV4IGh1bGwgY29udGFpbmluZywgaW4gdGhlIGNhc2Ugb2YgU0lCRVIsIHRoZSBtZWFucyBvZiB0aGUgcG9wdWxhdGlvbnMgdGhhdCBjb21wcmlzZSB0aGUgY29tbXVuaXR5LgoqIF9fZE5fcmFuZ2VfXyAtIHRoZSBkaXN0YW5jZSBpbiB1bml0cyBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCB5LWF4aXMgcG9wdWxhdGlvbnMgbWVhbnMgd2hpY2ggaXMgbW9zdCBvZnRlbiBkMTVOaXRyb2dlbiBpbiBlY29sb2dpY2FsIHN0dWRpZXMuCiogX19kQ19yYW5nZV9fIC0gdGhlIGRpc3RhbmNlIGluIHVuaXRzIGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IHgtYXhpcyBwb3B1bGF0aW9uIG1lYW5zIHdoaWNoIGlzIG1vc3Qgb2Z0ZW4gZDEzQ2FyYm9uIGluIGVjb2xvZ2ljYWwgc3R1ZGllcy4KKiBfX0NEX18gLSB0aGUgbWVhbiBkaXN0YW5jZSB0byBjZW50cm9pZCBmcm9tIHRoZSBtZWFucwoqIF9fTU5ORF9fIC0gdGhlIG1lYW4gbmVhcmVzdCBuZWlnaGJvdXIgZGlzdGFuY2Ugb2YgdGhlIG1lYW5zCiogX19TRE5ORF9fIC0gdGhlIHN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgbmVhcmVzdCBuZWlnaGJvdXIgZGlzdGFuY2UKCkVzdGltYXRpbmcgdGhlc2UgbWV0cmljcyBpcyBzdHJhaWdodCBmb3J3YXJkIGluIFNJQkVSIG9uY2UgeW91IGhhdmUgY3JlYXRlZCB0aGUgU0lCRVIgb2JqZWN0IHdpdGggYGNyZWF0ZVNpYmVyT2JqZWN0KClgLgoKYGBge3IsIGVjaG89VFJVRSwgbWVzc2FnZSA9IEZBTFNFLH0KCiMgRml0IHRoZSBCYXllc2lhbiBtb2RlbHMKCiMgb3B0aW9ucyBmb3IgcnVubmluZyBqYWdzCnBhcm1zIDwtIGxpc3QoKQpwYXJtcyRuLml0ZXIgPC0gMiAqIDEwXjQgICAjIG51bWJlciBvZiBpdGVyYXRpb25zIHRvIHJ1biB0aGUgbW9kZWwgZm9yCnBhcm1zJG4uYnVybmluIDwtIDEgKiAxMF4zICMgZGlzY2FyZCB0aGUgZmlyc3Qgc2V0IG9mIHZhbHVlcwpwYXJtcyRuLnRoaW4gPC0gMTAgICAgICMgdGhpbiB0aGUgcG9zdGVyaW9yIGJ5IHRoaXMgbWFueQpwYXJtcyRuLmNoYWlucyA8LSAyICAgICAgICAjIHJ1biB0aGlzIG1hbnkgY2hhaW5zCgojIGRlZmluZSB0aGUgcHJpb3JzCnByaW9ycyA8LSBsaXN0KCkKcHJpb3JzJFIgPC0gMSAqIGRpYWcoMikKcHJpb3JzJGsgPC0gMgpwcmlvcnMkdGF1Lm11IDwtIDEuMEUtMwoKIyBmaXQgdGhlIGVsbGlwc2VzIHdoaWNoIHVzZXMgYW4gSW52ZXJzZSBXaXNoYXJ0IHByaW9yCiMgb24gdGhlIGNvdmFyaWFuY2UgbWF0cml4IFNpZ21hLCBhbmQgYSB2YWd1ZSBub3JtYWwgcHJpb3Igb24gdGhlIAojIG1lYW5zLiBGaXR0aW5nIGlzIHZpYSB0aGUgSkFHUyBtZXRob2QuCmVsbGlwc2VzLnBvc3RlcmlvciA8LSBzaWJlck1WTihzaWJlci5leGFtcGxlLCBwYXJtcywgcHJpb3JzKQoKYGBgCgpXZSBjYW4gdGhlbiBwbG90IG91dCB0aGUgZXN0aW1hdGVkIHBvc3RlcmlvciBkaXN0cmlidXRpb24gZm9yIGVhY2ggb2YgdGhlIG1ldHJpY3MuIE9uZSBvZiB0aGUgZGlmZmljdWx0aWVzIGluIHB1dHRpbmcgYWxsIG9mIHRoZW0gb24gdGhlIHNhbWUgZmlndXJlIGlzIHRoYXQgdGhlIGNvbnZleCBodWxsIChUQSkgdGVuZHMgdG8gYmUgbXVjaCBsYXJnZXIgaW4gbWFnbml0dWRlIChpdCBpcyBpbiB1bml0cyBzcXVhcmVkIGFmdGVyIGFsbCkgYW5kIHNvIGl0IGNhbiBkaXN0b3J0IHRoZSBwcmVzZW50YXRpb24gb2YgdGhlIG90aGVycy4gSSB0ZW5kIHRvIHBsb3QgaXQgc2VwYXJhdGVseSB0byB0aGUgb3RoZXIgbWV0cmljcywgYXQgbGVhc3QgZm9yIGEgZmlyc3QgYXR0ZW1wdC4KCmBgYHtyLCBmaWcud2lkdGggPSA2LCBmaWcuaGVpZ2h0ID0gNn0KIyBleHRyYWN0IHRoZSBwb3N0ZXJpb3IgbWVhbnMKbXUucG9zdCA8LSBleHRyYWN0UG9zdGVyaW9yTWVhbnMoc2liZXIuZXhhbXBsZSwgZWxsaXBzZXMucG9zdGVyaW9yKQoKIyBjYWxjdWxhdGUgdGhlIGNvcnJlc3BvbmRpbmcgZGlzdHJpYnV0aW9uIG9mIGxheW1hbiBtZXRyaWNzCmxheW1hbi5CIDwtIGJheWVzaWFuTGF5bWFuKG11LnBvc3QpCgoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpc3VhbGlzZSB0aGUgZmlyc3QgY29tbXVuaXR5CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgZHJvcCB0aGUgM3JkIGNvbHVtbiBvZiB0aGUgcG9zdGVyaW9yIHdoaWNoIGlzIFRBIHVzaW5nIC0zLgpzaWJlckRlbnNpdHlQbG90KGxheW1hbi5CW1sxXV1bICwgLTNdLCAKICAgICAgICAgICAgICAgICB4dGlja2xhYmVscyA9IGNvbG5hbWVzKGxheW1hbi5CW1sxXV1bICwgLTNdKSwgCiAgICAgICAgICAgICAgICAgYnR5PSJMIiwgeWxpbSA9IGMoMCwyMCkpCgojIGFkZCB0aGUgTUwgZXN0aW1hdGVzIChpZiB5b3Ugd2FudCkuIEV4dHJhY3QgdGhlIGNvcnJlY3QgbWVhbnMgCiMgZnJvbSB0aGUgYXBwcm9wcmlhdGUgYXJyYXkgaGVsZCB3aXRoaW4gdGhlIG92ZXJhbGwgYXJyYXkgb2YgbWVhbnMuCmNvbW0xLmxheW1hbi5tbCA8LSBsYXltYW5NZXRyaWNzKHNpYmVyLmV4YW1wbGUkTUwubXVbWzFdXVsxLDEsXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2liZXIuZXhhbXBsZSRNTC5tdVtbMV1dWzEsMixdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiMgYWdhaW4gZHJvcCB0aGUgM3JkIGVudHJ5IHdoaWNoIHJlbGF0ZXMgdG8gVEEKcG9pbnRzKDE6NSwgY29tbTEubGF5bWFuLm1sJG1ldHJpY3NbLTNdLCAKICAgICAgIGNvbCA9ICJyZWQiLCBwY2ggPSAieCIsIGx3ZCA9IDIpCgoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpc3VhbGlzZSB0aGUgc2Vjb25kIGNvbW11bml0eQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnNpYmVyRGVuc2l0eVBsb3QobGF5bWFuLkJbWzJdXVsgLCAtM10sIAogICAgICAgICAgICAgICAgIHh0aWNrbGFiZWxzID0gY29sbmFtZXMobGF5bWFuLkJbWzJdXVsgLCAtM10pLCAKICAgICAgICAgICAgICAgIGJ0eT0iTCIsIHlsaW0gPSBjKDAsMjApKQoKIyBhZGQgdGhlIE1MIGVzdGltYXRlcy4gKGlmIHlvdSB3YW50KSBFeHRyYWN0IHRoZSBjb3JyZWN0IG1lYW5zIAojIGZyb20gdGhlIGFwcHJvcHJpYXRlIGFycmF5IGhlbGQgd2l0aGluIHRoZSBvdmVyYWxsIGFycmF5IG9mIG1lYW5zLgpjb21tMi5sYXltYW4ubWwgPC0gbGF5bWFuTWV0cmljcyhzaWJlci5leGFtcGxlJE1MLm11W1syXV1bMSwxLF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpYmVyLmV4YW1wbGUkTUwubXVbWzJdXVsxLDIsXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKcG9pbnRzKDE6NSwgY29tbTIubGF5bWFuLm1sJG1ldHJpY3NbLTNdLCAKICAgICAgIGNvbCA9ICJyZWQiLCBwY2ggPSAieCIsIGx3ZCA9IDIpCgoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFsdGVybmF0aXZlbHksIHB1bGwgb3V0IFRBIGZyb20gYm90aCBhbmQgYWdncmVnYXRlIHRoZW0gaW50byBhIAojIHNpbmdsZSBtYXRyaXggdXNpbmcgY2JpbmQoKSBhbmQgcGxvdCB0aGVtIHRvZ2V0aGVyIG9uIG9uZSBncmFwaC4KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBnbyBiYWNrIHRvIGEgMXgxIHBhbmVsIHBsb3QKcGFyKG1mcm93PWMoMSwxKSkKCiMgTm93IHdlIG9ubHkgcGxvdCB0aGUgVEEgZGF0YS4gV2UgY291bGQgYWRkcmVzcyB0aGlzIGFzIGVpdGhlcgojIGxheW1hbi5CW1sxXV1bLCAiVEEiXQojIG9yCiMgbGF5bWFuLkJbWzFdXVssIDNdCnNpYmVyRGVuc2l0eVBsb3QoY2JpbmQobGF5bWFuLkJbWzFdXVsgLCAiVEEiXSwgCiAgICAgICAgICAgICAgICAgICAgICAgbGF5bWFuLkJbWzJdXVsgLCAiVEEiXSksCiAgICAgICAgICAgICAgICB4dGlja2xhYmVscyA9IGMoIkNvbW11bml0eSAxIiwgIkNvbW11bml0eSAyIiksIAogICAgICAgICAgICAgICAgYnR5PSJMIiwgeWxpbSA9IGMoMCwgOTApLAogICAgICAgICAgICAgICAgbGFzID0gMSwKICAgICAgICAgICAgICAgIHlsYWIgPSAiVEEgLSBDb252ZXggSHVsbCBBcmVhIiwKICAgICAgICAgICAgICAgIHhsYWIgPSAiIikKCgojIFdlIGNhbiB0YWtlIHRoZSBjb2RlIGZyb20ganVzdCBhYm92ZSBmb3IgVEEgYW5kIHNpbXBseSAKIyBzd2FwIG91dCB0aGUgbWV0cmljIG9mIGNob2ljZSBmb3Igd2hhdGV2ZXIgd2Ugd2FudC4gCiMgSGVyZSBJIGRvIHRoaXMgZm9yIE5ORCBhbmQgdGFrZSBjYXJlIHRvIGNoYW5nZSB0aGUgCiMgeSBheGlzIGxhYmVscyB0b28uCnNpYmVyRGVuc2l0eVBsb3QoY2JpbmQobGF5bWFuLkJbWzFdXVsgLCAiTk5EIl0sIAogICAgICAgICAgICAgICAgICAgICAgIGxheW1hbi5CW1syXV1bICwgIk5ORCJdKSwKICAgICAgICAgICAgICAgIHh0aWNrbGFiZWxzID0gYygiQ29tbXVuaXR5IDEiLCAiQ29tbXVuaXR5IDIiKSwgCiAgICAgICAgICAgICAgICBidHk9IkwiLCB5bGltID0gYygwLCAxMCksCiAgICAgICAgICAgICAgICBsYXMgPSAxLAogICAgICAgICAgICAgICAgeWxhYiA9ICJOTkQgKG5lYXJlc3QgbmVpZ2hib3VyIGRpc3RhbmNlKSIsCiAgICAgICAgICAgICAgICB4bGFiID0gIiIpCgpzaWJlckRlbnNpdHlQbG90KGNiaW5kKGxheW1hbi5CW1sxXV1bICwgImRYX3JhbmdlIl0sIAogICAgICAgICAgICAgICAgICAgICAgIGxheW1hbi5CW1syXV1bICwgImRYX3JhbmdlIl0pLAogICAgICAgICAgICAgICAgeHRpY2tsYWJlbHMgPSBjKCJDb21tdW5pdHkgMSIsICJDb21tdW5pdHkgMiIpLCAKICAgICAgICAgICAgICAgIGJ0eT0iTCIsIHlsaW0gPSBjKDAsIDMwKSwKICAgICAgICAgICAgICAgIGxhcyA9IDEsCiAgICAgICAgICAgICAgICB5bGFiID0gImRYIiwKICAgICAgICAgICAgICAgIHhsYWIgPSAiIikKYGBgCgoKQW5kIHRoYXQgcHJldHR5IGlzIHByZXR0eSBtdWNoIHRoYXQgZm9yIGNvbXBhcmluZyB0aGVzZSBtZXRyaWNzIGFjcm9zcyBjb21tdW5pdGllcywgZXhjZXB0IHBlcmhhcHMgdG8gbWFrZSBhIHByb2JhYmFsaXN0aWMgc3RhdGVtZW50IGFib3V0IGhvdyBkTnIgKGZvciBleGFtcGxlKSBkaWZmZXJzIGJldHdlZW4gX19Db21tdW5pdHkgMV9fIGFuZCBfX0NvbW11bml0eSAyX18uIEluIHRoaXMgY2FzZSwgd2hhdCBpcyB0aGUgcHJvYmFiaWxpdHkgdGhhdCBkTnIgaW4gQ29tbXVuaXR5IDEgaXMgbGVzcyB0aGFuIGROciBpbiBDb21tdW5pdHkgMj8KCmBgYHtyfQoKZE5yMS5sdC5kTnIyIDwtIHN1bShsYXltYW4uQltbMV1dWywiZFlfcmFuZ2UiXSA8IAogICAgICAgICAgICAgICAgICAgICAgbGF5bWFuLkJbWzJdXVssImRZX3JhbmdlIl0pIC8gCiAgICAgICAgICAgICAgICBsZW5ndGgobGF5bWFuLkJbWzFdXVssImRZX3JhbmdlIl0pCgpwcmludChkTnIxLmx0LmROcjIpCgpgYGAKCgoKCg==