Print tables in different output formats
Source:R/display.R
, R/print_table.R
display.parameters_model.Rd
Prints tables (i.e. data frame) in different output formats.
print_md()
is an alias for display(format = "markdown")
, print_html()
is an alias for display(format = "html")
. print_table()
is for specific
use cases only, and currently only works for compare_parameters()
objects.
Usage
# S3 method for class 'parameters_model'
display(
object,
format = "markdown",
pretty_names = TRUE,
split_components = TRUE,
select = NULL,
caption = NULL,
subtitle = NULL,
footer = NULL,
align = NULL,
digits = 2,
ci_digits = digits,
p_digits = 3,
footer_digits = 3,
ci_brackets = c("(", ")"),
show_sigma = FALSE,
show_formula = FALSE,
zap_small = FALSE,
font_size = "100%",
line_padding = 4,
column_labels = NULL,
include_reference = FALSE,
verbose = TRUE,
...
)
# S3 method for class 'parameters_sem'
display(
object,
format = "markdown",
digits = 2,
ci_digits = digits,
p_digits = 3,
ci_brackets = c("(", ")"),
...
)
# S3 method for class 'parameters_efa_summary'
display(object, format = "markdown", digits = 3, ...)
# S3 method for class 'parameters_efa'
display(
object,
format = "markdown",
digits = 2,
sort = FALSE,
threshold = NULL,
labels = NULL,
...
)
# S3 method for class 'equivalence_test_lm'
display(object, format = "markdown", digits = 2, ...)
print_table(x, digits = 2, p_digits = 3, theme = "default", ...)
Arguments
- object
An object returned by
model_parameters()
,simulate_parameters()
,equivalence_test()
orprincipal_components()
.- format
String, indicating the output format. Can be
"markdown"
or"html"
.- pretty_names
Can be
TRUE
, which will return "pretty" (i.e. more human readable) parameter names. Or"labels"
, in which case value and variable labels will be used as parameters names. The latter only works for "labelled" data, i.e. if the data used to fit the model had"label"
and"labels"
attributes. See also section Global Options to Customize Messages when Printing.- split_components
Logical, if
TRUE
(default), For models with multiple components (zero-inflation, smooth terms, ...), each component is printed in a separate table. IfFALSE
, model parameters are printed in a single table and aComponent
column is added to the output.- select
Determines which columns and and which layout columns are printed. There are three options for this argument:
Selecting columns by name or index
select
can be a character vector (or numeric index) of column names that should be printed, where columns are extracted from the data frame returned bymodel_parameters()
and related functions.There are two pre-defined options for selecting columns:
select = "minimal"
prints coefficients, confidence intervals and p-values, whileselect = "short"
prints coefficients, standard errors and p-values.A string expression with layout pattern
select
is a string with "tokens" enclosed in braces. These tokens will be replaced by their associated columns, where the selected columns will be collapsed into one column. Following tokens are replaced by the related coefficients or statistics:{estimate}
,{se}
,{ci}
(or{ci_low}
and{ci_high}
),{p}
and{stars}
. The token{ci}
will be replaced by{ci_low}, {ci_high}
. Example:select = "{estimate}{stars} ({ci})"
It is possible to create multiple columns as well. A
|
separates values into new cells/columns. Example:select = "{estimate} ({ci})|{p}"
.If
format = "html"
, a<br>
inserts a line break inside a cell. See 'Examples'.
*. A string indicating a pre-defined layout
select
can be one of the following string values, to create one of the following pre-defined column layouts:"ci"
: Estimates and confidence intervals, no asterisks for p-values. This is equivalent toselect = "{estimate} ({ci})"
."se"
: Estimates and standard errors, no asterisks for p-values. This is equivalent toselect = "{estimate} ({se})"
."ci_p"
: Estimates, confidence intervals and asterisks for p-values. This is equivalent toselect = "{estimate}{stars} ({ci})"
."se_p"
: Estimates, standard errors and asterisks for p-values. This is equivalent toselect = "{estimate}{stars} ({se})"
.."ci_p2"
: Estimates, confidence intervals and numeric p-values, in two columns. This is equivalent toselect = "{estimate} ({ci})|{p}"
."se_p2"
: Estimate, standard errors and numeric p-values, in two columns. This is equivalent toselect = "{estimate} ({se})|{p}"
.
For
model_parameters()
, glue-like syntax is still experimental in the case of more complex models (like mixed models) and may not return expected results.Table caption as string. If
NULL
, depending on the model, either a default caption or no table caption is printed. Usecaption = ""
to suppress the table caption.- subtitle
Table title (same as caption) and subtitle, as strings. If
NULL
, no title or subtitle is printed, unless it is stored as attributes (table_title
, or its aliastable_caption
, andtable_subtitle
). Ifx
is a list of data frames,caption
may be a list of table captions, one for each table.Can either be
FALSE
or an empty string (i.e.""
) to suppress the footer,NULL
to print the default footer, or a string. The latter will combine the string value with the default footer.- align
Only applies to HTML tables. May be one of
"left"
,"right"
or"center"
.- digits, ci_digits, p_digits
Number of digits for rounding or significant figures. May also be
"signif"
to return significant figures or"scientific"
to return scientific notation. Control the number of digits by adding the value as suffix, e.g.digits = "scientific4"
to have scientific notation with 4 decimal places, ordigits = "signif5"
for 5 significant figures (see alsosignif()
).Number of decimal places for values in the footer summary.
- ci_brackets
Logical, if
TRUE
(default), CI-values are encompassed in square brackets (else in parentheses).- show_sigma
Logical, if
TRUE
, adds information about the residual standard deviation.- show_formula
Logical, if
TRUE
, adds the model formula to the output.- zap_small
Logical, if
TRUE
, small values are rounded afterdigits
decimal places. IfFALSE
, values with more decimal places thandigits
are printed in scientific notation.- font_size
For HTML tables, the font size.
- line_padding
For HTML tables, the distance (in pixel) between lines.
- column_labels
Labels of columns for HTML tables. If
NULL
, automatic column names are generated. See 'Examples'.- include_reference
Logical, if
TRUE
, the reference level of factors will be added to the parameters table. This is only relevant for models with categorical predictors. The coefficient for the reference level is always0
(except whenexponentiate = TRUE
, then the coefficient will be1
), so this is just for completeness.- verbose
Toggle messages and warnings.
- ...
Arguments passed down to
format.parameters_model()
,insight::format_table()
andinsight::export_table()
- sort
Sort the loadings.
- threshold
A value between 0 and 1 indicates which (absolute) values from the loadings should be removed. An integer higher than 1 indicates the n strongest loadings to retain. Can also be
"max"
, in which case it will only display the maximum loading per variable (the most simple structure).- labels
A character vector containing labels to be added to the loadings data. Usually, the question related to the item.
- x
An object returned by
model_parameters()
.- theme
String, indicating the table theme. Can be one of
"default"
,"grid"
,"striped"
,"bootstrap"
or"darklines"
.
Value
If format = "markdown"
, the return value will be a character
vector in markdown-table format. If format = "html"
, an object of
class gt_tbl
. For print_table()
, an object of class tinytable
is
returned.
Details
display()
is useful when the table-output from functions,
which is usually printed as formatted text-table to console, should
be formatted for pretty table-rendering in markdown documents, or if
knitted from rmarkdown to PDF or Word files. See
vignette
for examples.
print_table()
is a special function for compare_parameters()
objects,
which prints the output as a formatted HTML table. It is still somewhat
experimental, thus, only a fixed layout-style is available at the moment
(columns for estimates, confidence intervals and p-values). However, it
is possible to include other model components, like zero-inflation, or random
effects in the table. See 'Examples'. An alternative is to set engine = "tt"
in print_html()
to use the tinytable package for creating HTML tables.
Examples
model <- lm(mpg ~ wt + cyl, data = mtcars)
mp <- model_parameters(model)
display(mp)
#>
#>
#> |Parameter | Coefficient | SE | 95% CI | t(29) | p |
#> |:-----------|:-----------:|:----:|:--------------:|:-----:|:------:|
#> |(Intercept) | 39.69 | 1.71 | (36.18, 43.19) | 23.14 | < .001 |
#> |wt | -3.19 | 0.76 | (-4.74, -1.64) | -4.22 | < .001 |
#> |cyl | -1.51 | 0.41 | (-2.36, -0.66) | -3.64 | 0.001 |
# \donttest{
data(iris)
lm1 <- lm(Sepal.Length ~ Species, data = iris)
lm2 <- lm(Sepal.Length ~ Species + Petal.Length, data = iris)
lm3 <- lm(Sepal.Length ~ Species * Petal.Length, data = iris)
out <- compare_parameters(lm1, lm2, lm3)
print_html(
out,
select = "{coef}{stars}|({ci})",
column_labels = c("Estimate", "95% CI")
)
Estimate
95% CI
Estimate
95% CI
Estimate
95% CI
# line break, unicode minus-sign
print_html(
out,
select = "{estimate}{stars}<br>({ci_low} \u2212 {ci_high})",
column_labels = c("Est. (95% CI)")
)
Parameter
Est. (95% CI)
Est. (95% CI)
Est. (95% CI)
# }
# \donttest{
data(iris)
data(Salamanders, package = "glmmTMB")
m1 <- lm(Sepal.Length ~ Species * Petal.Length, data = iris)
m2 <- lme4::lmer(
Sepal.Length ~ Petal.Length + Petal.Width + (1 | Species),
data = iris
)
m3 <- glmmTMB::glmmTMB(
count ~ spp + mined + (1 | site),
ziformula = ~mined,
family = poisson(),
data = Salamanders
)
out <- compare_parameters(m1, m2, m3, effects = "all", component = "all")
print_table(out)
#> <!-- preamble start -->
#> <!DOCTYPE html>
#> <html lang="en">
#> <head>
#> <meta charset="UTF-8">
#> <meta name="viewport" content="width=device-width, initial-scale=1.0">
#> <title>tinytable_v1mrbt9a9zi6btpr5kel</title>
#> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
#> </head>
#> <body>
#> <!-- preamble end -->
#>
#> <script>
#>
#> function styleCell_v1mrbt9a9zi6btpr5kel(i, j, css_id) {
#> var table = document.getElementById("tinytable_v1mrbt9a9zi6btpr5kel");
#> var cell = table.rows[i]?.cells[j]; // Safe navigation to avoid errors
#> if (cell) {
#> console.log(`Styling cell at (${i}, ${j}) with class ${css_id}`);
#> cell.classList.add(css_id);
#> } else {
#> console.warn(`Cell at (${i}, ${j}) not found.`);
#> }
#> }
#> function insertSpanRow_jqdwe9tz2qtv56gifz98(i, colspan, content) {
#> var table = document.getElementById('tinytable_v1mrbt9a9zi6btpr5kel');
#> var newRow = table.insertRow(i);
#> var newCell = newRow.insertCell(0);
#> newCell.setAttribute("colspan", colspan);
#> // newCell.innerText = content;
#> // this may be unsafe, but innerText does not interpret <br>
#> newCell.innerHTML = content;
#> }
#> function spanCell_v1mrbt9a9zi6btpr5kel(i, j, rowspan, colspan) {
#> var table = document.getElementById("tinytable_v1mrbt9a9zi6btpr5kel");
#> const targetRow = table.rows[i];
#> const targetCell = targetRow.cells[j];
#> for (let r = 0; r < rowspan; r++) {
#> // Only start deleting cells to the right for the first row (r == 0)
#> if (r === 0) {
#> // Delete cells to the right of the target cell in the first row
#> for (let c = colspan - 1; c > 0; c--) {
#> if (table.rows[i + r].cells[j + c]) {
#> table.rows[i + r].deleteCell(j + c);
#> }
#> }
#> }
#> // For rows below the first, delete starting from the target column
#> if (r > 0) {
#> for (let c = colspan - 1; c >= 0; c--) {
#> if (table.rows[i + r] && table.rows[i + r].cells[j]) {
#> table.rows[i + r].deleteCell(j);
#> }
#> }
#> }
#> }
#> // Set rowspan and colspan of the target cell
#> targetCell.rowSpan = rowspan;
#> targetCell.colSpan = colspan;
#> }
#> // tinytable span after
#> window.addEventListener('load', function () { insertSpanRow_jqdwe9tz2qtv56gifz98(18, 10, 'Random Effects Variances') });
#> window.addEventListener('load', function () { insertSpanRow_jqdwe9tz2qtv56gifz98(16, 10, 'Fixed Effects (Zero-Inflation Component)') });
#> window.addEventListener('load', function () { insertSpanRow_jqdwe9tz2qtv56gifz98(2, 10, 'Fixed Effects') });
#> window.addEventListener('load', function () {
#> var cellsToStyle = [
#> // tinytable style arrays after
#> { positions: [ { i: 20, j: 0 }, { i: 17, j: 3 }, { i: 20, j: 1 }, { i: 17, j: 5 }, { i: 17, j: 0 }, { i: 17, j: 1 }, { i: 17, j: 4 }, { i: 17, j: 2 }, { i: 20, j: 2 }, { i: 17, j: 6 }, { i: 17, j: 9 }, { i: 17, j: 7 }, { i: 20, j: 7 }, { i: 20, j: 5 }, { i: 20, j: 3 }, { i: 20, j: 6 }, { i: 20, j: 4 }, { i: 17, j: 8 }, { i: 20, j: 8 }, { i: 20, j: 9 }, ], css_id: 'tinytable_css_pme1h57cr18eo5291ykb',},
#> { positions: [ { i: 23, j: 0 }, ], css_id: 'tinytable_css_mty5rvreydubda3pbmoh',},
#> { positions: [ { i: 1, j: 0 }, { i: 1, j: 8 }, { i: 1, j: 6 }, { i: 1, j: 4 }, { i: 1, j: 2 }, { i: 1, j: 5 }, { i: 1, j: 3 }, { i: 1, j: 9 }, { i: 1, j: 7 }, { i: 1, j: 1 }, ], css_id: 'tinytable_css_j3jtj2bzu6tqeds0w381',},
#> { positions: [ { i: 8, j: 0 }, { i: 5, j: 0 }, { i: 6, j: 0 }, { i: 7, j: 0 }, { i: 12, j: 0 }, { i: 13, j: 0 }, { i: 14, j: 0 }, { i: 15, j: 0 }, { i: 3, j: 0 }, { i: 4, j: 0 }, { i: 18, j: 0 }, { i: 19, j: 0 }, { i: 11, j: 0 }, { i: 21, j: 0 }, { i: 9, j: 0 }, { i: 10, j: 0 }, { i: 16, j: 0 }, { i: 22, j: 0 }, ], css_id: 'tinytable_css_hj8668kg55wr7mxgbu82',},
#> { positions: [ { i: 0, j: 1 }, { i: 0, j: 2 }, { i: 0, j: 3 }, ], css_id: 'tinytable_css_gf8q1vwxl0d2sl4sdmw0',},
#> { positions: [ { i: 0, j: 0 }, ], css_id: 'tinytable_css_dz2528uf6d84vf5qck5z',},
#> { positions: [ { i: 2, j: 4 }, { i: 2, j: 3 }, { i: 2, j: 1 }, { i: 2, j: 2 }, { i: 2, j: 0 }, { i: 2, j: 8 }, { i: 2, j: 6 }, { i: 2, j: 9 }, { i: 2, j: 7 }, { i: 2, j: 5 }, ], css_id: 'tinytable_css_ce7lhpivtykp79irgoen',},
#> { positions: [ { i: 23, j: 2 }, { i: 23, j: 1 }, { i: 23, j: 7 }, { i: 23, j: 3 }, { i: 23, j: 8 }, { i: 23, j: 4 }, { i: 23, j: 9 }, { i: 23, j: 5 }, { i: 23, j: 6 }, ], css_id: 'tinytable_css_7akw5q12gu9fg5mdos3v',},
#> { positions: [ { i: 0, j: 8 }, { i: 0, j: 4 }, { i: 0, j: 7 }, { i: 0, j: 5 }, { i: 0, j: 6 }, { i: 0, j: 9 }, ], css_id: 'tinytable_css_2ziwexp7b81feld7alr8',},
#> ];
#>
#> // Loop over the arrays to style the cells
#> cellsToStyle.forEach(function (group) {
#> group.positions.forEach(function (cell) {
#> styleCell_v1mrbt9a9zi6btpr5kel(cell.i, cell.j, group.css_id);
#> });
#> });
#> });
#> </script>
#>
#> <style>
#> /* tinytable css entries after */
#> .table td.tinytable_css_pme1h57cr18eo5291ykb, .table th.tinytable_css_pme1h57cr18eo5291ykb { font-style: italic; border-bottom: solid #d4d4d4 0.05em; }
#> .table td.tinytable_css_mty5rvreydubda3pbmoh, .table th.tinytable_css_mty5rvreydubda3pbmoh { padding-left: 1em; border-bottom: solid #d4d4d4 0.1em; border-bottom: solid #d3d8dc 0.1em; }
#> .table td.tinytable_css_j3jtj2bzu6tqeds0w381, .table th.tinytable_css_j3jtj2bzu6tqeds0w381 { border-bottom: solid #d3d8dc 0.05em; }
#> .table td.tinytable_css_hj8668kg55wr7mxgbu82, .table th.tinytable_css_hj8668kg55wr7mxgbu82 { padding-left: 1em; }
#> .table td.tinytable_css_gf8q1vwxl0d2sl4sdmw0, .table th.tinytable_css_gf8q1vwxl0d2sl4sdmw0 { border-top: solid #d4d4d4 0.1em; border-bottom: solid #d4d4d4 0.1em; border-top: solid #d3d8dc 0.1em; text-align: center; border-bottom: solid #d3d8dc 0.05em; text-align: center; }
#> .table td.tinytable_css_dz2528uf6d84vf5qck5z, .table th.tinytable_css_dz2528uf6d84vf5qck5z { border-top: solid #d4d4d4 0.1em; border-top: solid #d3d8dc 0.1em; text-align: center; text-align: center; }
#> .table td.tinytable_css_ce7lhpivtykp79irgoen, .table th.tinytable_css_ce7lhpivtykp79irgoen { font-style: italic; }
#> .table td.tinytable_css_7akw5q12gu9fg5mdos3v, .table th.tinytable_css_7akw5q12gu9fg5mdos3v { border-bottom: solid #d4d4d4 0.1em; border-bottom: solid #d3d8dc 0.1em; }
#> .table td.tinytable_css_2ziwexp7b81feld7alr8, .table th.tinytable_css_2ziwexp7b81feld7alr8 { border-top: solid #d4d4d4 0.1em; border-bottom: solid #d4d4d4 0.1em; border-top: solid #d3d8dc 0.1em; text-align: center; text-align: center; }
#> </style>
#> <div class="container">
#> <table class="table table-borderless" id="tinytable_v1mrbt9a9zi6btpr5kel" style="width: auto; margin-left: auto; margin-right: auto;" data-quarto-disable-processing='true'>
#> <thead>
#> <tr>
#> <th scope="col" align="center" colspan=1> </th>
#> <th scope="col" align="center" colspan=3>m1</th>
#> <th scope="col" align="center" colspan=3>m2</th>
#> <th scope="col" align="center" colspan=3>m3</th>
#> </tr>
#>
#> <tr>
#> <th scope="col">Parameter</th>
#> <th scope="col">Coefficient</th>
#> <th scope="col">95% CI</th>
#> <th scope="col">p</th>
#> <th scope="col">Coefficient</th>
#> <th scope="col">95% CI</th>
#> <th scope="col">p</th>
#> <th scope="col">Log-Mean</th>
#> <th scope="col">95% CI</th>
#> <th scope="col">p</th>
#> </tr>
#> </thead>
#>
#> <tbody>
#> <tr>
#> <td>(Intercept) </td>
#> <td>4.21 </td>
#> <td>3.41, 5.02 </td>
#> <td>< .001</td>
#> <td>2.51 </td>
#> <td>1.20, 3.83 </td>
#> <td>< .001</td>
#> <td>-0.36</td>
#> <td>-0.90, 0.18 </td>
#> <td>0.194 </td>
#> </tr>
#> <tr>
#> <td>Species [versicolor] × Petal Length</td>
#> <td>0.29 </td>
#> <td>-0.30, 0.87 </td>
#> <td>0.334 </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>Petal Length </td>
#> <td>0.54 </td>
#> <td>0.00, 1.09 </td>
#> <td>0.052 </td>
#> <td>0.89 </td>
#> <td>0.75, 1.04 </td>
#> <td>< .001</td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>Species [versicolor] </td>
#> <td>-1.81</td>
#> <td>-2.99, -0.62</td>
#> <td>0.003 </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>Species [virginica] </td>
#> <td>-3.15</td>
#> <td>-4.41, -1.90</td>
#> <td>< .001</td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>Species [virginica] × Petal Length </td>
#> <td>0.45 </td>
#> <td>-0.12, 1.03 </td>
#> <td>0.120 </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>Petal Width </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>-0.02</td>
#> <td>-0.33, 0.28</td>
#> <td>0.877 </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>spp [EC-L] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.67 </td>
#> <td>0.41, 0.92 </td>
#> <td>< .001</td>
#> </tr>
#> <tr>
#> <td>spp [PR] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>-1.27</td>
#> <td>-1.74, -0.80</td>
#> <td>< .001</td>
#> </tr>
#> <tr>
#> <td>spp [DM] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.27 </td>
#> <td>0.00, 0.54 </td>
#> <td>0.051 </td>
#> </tr>
#> <tr>
#> <td>spp [EC-A] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>-0.57</td>
#> <td>-0.97, -0.16</td>
#> <td>0.006 </td>
#> </tr>
#> <tr>
#> <td>spp [DES-L] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.63 </td>
#> <td>0.38, 0.87 </td>
#> <td>< .001</td>
#> </tr>
#> <tr>
#> <td>spp [DF] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.12 </td>
#> <td>-0.17, 0.40 </td>
#> <td>0.435 </td>
#> </tr>
#> <tr>
#> <td>mined [no] </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>1.27 </td>
#> <td>0.74, 1.80 </td>
#> <td>< .001</td>
#> </tr>
#> <tr>
#> <td>(Intercept) (zi) </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.79 </td>
#> <td>0.26, 1.32 </td>
#> <td>0.004 </td>
#> </tr>
#> <tr>
#> <td>minedno (zi) </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>-1.84</td>
#> <td>-2.46, -1.23</td>
#> <td>< .001</td>
#> </tr>
#> <tr>
#> <td>SD (Residual) </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.34 </td>
#> <td>0.30, 0.38 </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>SD (Intercept: Species) </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>1.07 </td>
#> <td>0.39, 2.91 </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> </tr>
#> <tr>
#> <td>SD (Intercept: site) </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td> </td>
#> <td>0.33 </td>
#> <td>0.18, 0.63 </td>
#> <td> </td>
#> </tr>
#> </tbody>
#> </table>
#> </div>
#> <!-- postamble start -->
#> </body>
#>
#> </html>
#> <!-- postamble end -->
#> <!-- hack to avoid NA insertion in last line -->
# }