| as.array {rstan} | R Documentation |
Create array, matrix, or data.frame objects from samples in a stanfit object
Description
The samples (without warmup) included in a stanfit
object can be coerced to an array, matrix, or data.frame.
Methods are also provided for checking and setting names and dimnames.
Usage
## S3 method for class 'stanfit'
as.array(x, ...)
## S3 method for class 'stanfit'
as.matrix(x, ...)
## S3 method for class 'stanfit'
as.data.frame(x, ...)
## S3 method for class 'stanfit'
is.array(x)
## S3 method for class 'stanfit'
dim(x)
## S3 method for class 'stanfit'
dimnames(x)
## S3 method for class 'stanfit'
names(x)
## S3 replacement method for class 'stanfit'
names(x) <- value
Arguments
x |
An object of S4 class |
... |
Additional parameters that can be passed to |
value |
For the |
Details
as.array and as.matrix can be applied to a stanfit
object to coerce the samples without warmup to array or matrix.
The as.data.frame method first calls as.matrix and then coerces
this matrix to a data.frame.
The array has three named dimensions: iterations, chains, parameters.
For as.matrix, all chains are combined, leaving a matrix of iterations
by parameters.
Value
as.array, as.matrix, and as.data.frame return an array,
matrix, and data.frame, respectively.
dim and dimnames return the dim and dimnames of the
array object that could be created, while names returns the third
element of the dimnames, which are the names of the margins of the
posterior distribution. The names assignment method allows for
assigning more interpretable names to them.
is.array returns TRUE for stanfit objects that include
samples; otherwise FALSE.
When the stanfit object does not contain samples, empty objects
are returned from as.array, as.matrix, as.data.frame,
dim, dimnames, and names.
See Also
S4 class stanfit and its method extract
Examples
## Not run:
ex_model_code <- '
parameters {
array[2, 3] real alpha;
array[2] real beta;
}
model {
for (i in 1:2) for (j in 1:3)
alpha[i, j] ~ normal(0, 1);
for (i in 1:2)
beta[i] ~ normal(0, 2);
# beta ~ normal(0, 2) // vectorized version
}
'
## fit the model
fit <- stan(model_code = ex_model_code, chains = 4)
dim(fit)
dimnames(fit)
is.array(fit)
a <- as.array(fit)
m <- as.matrix(fit)
d <- as.data.frame(fit)
## End(Not run)