stanfit
objectstanfit2array-method.Rd
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.
# S3 method for stanfit
as.array(x, ...)
# S3 method for stanfit
as.matrix(x, ...)
# S3 method for stanfit
as.data.frame(x, ...)
# S3 method for stanfit
is.array(x)
# S3 method for stanfit
dim(x)
# S3 method for stanfit
dimnames(x)
# S3 method for stanfit
names(x)
# S3 method for stanfit
names(x) <- value
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.
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
.
if (FALSE) {
ex_model_code <- '
parameters {
real alpha[2,3];
real beta[2];
}
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)
}