knitr::opts_chunk$set(cache = TRUE, dev = c("png", "pdf"))
library(here)
source(here("src", "model_linear_locality_grampians.R"))
residual_variance <- VarCorr(model_grampians)$taxon

trait_values <- unique(mdg[c("taxon", "sla", "sm", "mh")])

full_sd <- sqrt(diag(cov(apply(coef_sims(model_grampians), 1:2, mean))))

resid_sd <- attr(residual_variance, "stddev")

par(mar = c(4, 5, 1, 1), lend = 1)
barplot(
  full_sd[-1], las = 1, col = "lightgrey", border = NA,
  ylim = c(0, 1.2), ylab = "Standard Deviations",
  panel.last = for(i in seq(.2, .8, .2)) {
    abline(h=i, lty = 3, xpd = FALSE, col = "grey")
  }
)
barplot(
  resid_sd[-1], col = "darkgrey", add = TRUE, axes = FALSE, names.arg = NA,
  border = NA
)
legend(
  "topright",
  legend = c("Variation\nexplained\nby traits", "Variation\nUnexplained"),
  col = c("lightgrey", "darkgrey"), ncol = 2, bty = "n",
  border = NA, lty = 1, lwd = 30
)
box()

IycgLS0tCiMnIHRpdGxlOiAiRXhwbGFuYXRvcnkgcG93ZXIgb2YgdHJhaXRzIGluIHRoZSB0cmFpdC1lbnZpcm9ubWVudCBtb2RlbCB3aXRoCiMnICAgbGluZWFyIHJlc3BvbnNlcyBhbmQgbG9jYXRpb24gcmFuZG9tIGVmZmVjdCIjJyBhdXRob3I6ICJXaWxsaWFtIEsuIE1vcnJpcyIKIycgZGF0ZTogImByIFN5cy5EYXRlKClgIgojJyBvdXRwdXQ6CiMnICAgcm1hcmtkb3duOjpodG1sX25vdGVib29rOgojJyAgICAgY29kZV9mb2xkaW5nOiBoaWRlCiMnIC0tLQoKIysgc2V0dXAsIG1lc3NhZ2U9RkFMU0UKa25pdHI6Om9wdHNfY2h1bmskc2V0KGNhY2hlID0gVFJVRSwgZGV2ID0gYygicG5nIiwgInBkZiIpKQpsaWJyYXJ5KGhlcmUpCnNvdXJjZShoZXJlKCJzcmMiLCAibW9kZWxfbGluZWFyX2xvY2FsaXR5X2dyYW1waWFucy5SIikpCgojKyBwbG90c2RzLCBmaWcuaGVpZ2h0PTcsIGZpZy53aWR0aD0xMApyZXNpZHVhbF92YXJpYW5jZSA8LSBWYXJDb3JyKG1vZGVsX2dyYW1waWFucykkdGF4b24KCnRyYWl0X3ZhbHVlcyA8LSB1bmlxdWUobWRnW2MoInRheG9uIiwgInNsYSIsICJzbSIsICJtaCIpXSkKCmZ1bGxfc2QgPC0gc3FydChkaWFnKGNvdihhcHBseShjb2VmX3NpbXMobW9kZWxfZ3JhbXBpYW5zKSwgMToyLCBtZWFuKSkpKQoKcmVzaWRfc2QgPC0gYXR0cihyZXNpZHVhbF92YXJpYW5jZSwgInN0ZGRldiIpCgpwYXIobWFyID0gYyg0LCA1LCAxLCAxKSwgbGVuZCA9IDEpCmJhcnBsb3QoCiAgZnVsbF9zZFstMV0sIGxhcyA9IDEsIGNvbCA9ICJsaWdodGdyZXkiLCBib3JkZXIgPSBOQSwKICB5bGltID0gYygwLCAxLjIpLCB5bGFiID0gIlN0YW5kYXJkIERldmlhdGlvbnMiLAogIHBhbmVsLmxhc3QgPSBmb3IoaSBpbiBzZXEoLjIsIC44LCAuMikpIHsKICAgIGFibGluZShoPWksIGx0eSA9IDMsIHhwZCA9IEZBTFNFLCBjb2wgPSAiZ3JleSIpCiAgfQopCmJhcnBsb3QoCiAgcmVzaWRfc2RbLTFdLCBjb2wgPSAiZGFya2dyZXkiLCBhZGQgPSBUUlVFLCBheGVzID0gRkFMU0UsIG5hbWVzLmFyZyA9IE5BLAogIGJvcmRlciA9IE5BCikKbGVnZW5kKAogICJ0b3ByaWdodCIsCiAgbGVnZW5kID0gYygiVmFyaWF0aW9uXG5leHBsYWluZWRcbmJ5IHRyYWl0cyIsICJWYXJpYXRpb25cblVuZXhwbGFpbmVkIiksCiAgY29sID0gYygibGlnaHRncmV5IiwgImRhcmtncmV5IiksIG5jb2wgPSAyLCBidHkgPSAibiIsCiAgYm9yZGVyID0gTkEsIGx0eSA9IDEsIGx3ZCA9IDMwCikKYm94KCkK