| diag,rvar-method {posterior} | R Documentation |
Matrix diagonals (including for random variables)
Description
Extract the diagonal of a matrix or construct a matrix, including random
matrices (2-dimensional rvars). Makes base::diag() generic.
Usage
## S4 method for signature 'rvar'
diag(x = 1, nrow, ncol, names = TRUE)
Arguments
x |
(numeric,rvar) a matrix, vector, 1D array, missing, or a 1- or
2-dimensional |
nrow, ncol |
optional dimensions for the result when |
names |
(when |
Details
Makes base::diag() into a generic function. See that function's documentation
for usage with numerics and for usage of diag<-, which is also supported
by rvar.
Value
For rvars, has two modes:
-
xis a matrix-likervar: it returns the diagonal as a vector-likervar -
xis a vector-likervar: it returns a matrix-likervarwithxas the diagonal and zero for off-diagonal entries.
See Also
Examples
# Sigma is a 3x3 covariance matrix
Sigma <- as_draws_rvars(example_draws("multi_normal"))$Sigma
Sigma
diag(Sigma)
diag(Sigma) <- 1:3
Sigma
diag(as_rvar(1:3))