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 rvar
s). 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 numeric
s and for usage of diag<-
, which is also supported
by rvar
.
Value
For rvar
s, has two modes:
-
x
is a matrix-likervar
: it returns the diagonal as a vector-likervar
-
x
is a vector-likervar
: it returns a matrix-likervar
withx
as 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))