Compute the Monte Carlo standard error for the standard deviation (SD) of a single variable without assuming normality using moments of moments and first order Taylor series approximation (Kenney and Keeping, 1951, p. 141).

```
mcse_sd(x, ...)
# S3 method for default
mcse_sd(x, ...)
# S3 method for rvar
mcse_sd(x, ...)
```

- x
(multiple options) One of:

A matrix of draws for a single variable (iterations x chains). See

`extract_variable_matrix()`

.An

`rvar`

.

- ...
Arguments passed to individual methods (if applicable).

If the input is an array, returns a single numeric value. If any of the draws
is non-finite, that is, `NA`

, `NaN`

, `Inf`

, or `-Inf`

, the returned output
will be (numeric) `NA`

. Also, if all draws within any of the chains of a
variable are the same (constant), the returned output will be (numeric) `NA`

as well. The reason for the latter is that, for constant draws, we cannot distinguish between variables that are supposed to be constant (e.g., a diagonal element of a correlation matrix is always 1) or variables that just happened to be constant because of a failure of convergence or other problems in the sampling process.

If the input is an `rvar`

, returns an array of the same dimensions as the
`rvar`

, where each element is equal to the value that would be returned by
passing the draws array for that element of the `rvar`

to this function.

Aki Vehtari, Andrew Gelman, Daniel Simpson, Bob Carpenter, and
Paul-Christian Bürkner (2021). Rank-normalization, folding, and
localization: An improved R-hat for assessing convergence of
MCMC (with discussion). *Bayesian Data Analysis*. 16(2), 667-–718.
doi:10.1214/20-BA1221

J. F. Kenney & E. S. Keeping (1951). *Mathematics of Statistics, Vol. II.*

Other diagnostics:
`ess_basic()`

,
`ess_bulk()`

,
`ess_quantile()`

,
`ess_sd()`

,
`ess_tail()`

,
`mcse_mean()`

,
`mcse_quantile()`

,
`pareto_diags()`

,
`pareto_khat()`

,
`rhat()`

,
`rhat_basic()`

,
`rhat_nested()`

,
`rstar()`

```
mu <- extract_variable_matrix(example_draws(), "mu")
mcse_sd(mu)
#> [1] 0.2487345
d <- as_draws_rvars(example_draws("multi_normal"))
mcse_sd(d$Sigma)
#> [,1] [,2] [,3]
#> [1,] 0.007911205 0.01281948 0.01365999
#> [2,] 0.012819476 0.01966138 0.02375922
#> [3,] 0.013659991 0.02375922 0.04301713
```