BANOVA.ordMultinomial {BANOVA} | R Documentation |
Estimation of BANOVA with a ordered Multinomial response variable
Description
BANOVA.ordMultinomial
implements a Hierarchical Bayesian ANOVA for ordered multinomial responses, with
a normal heterogeneity distribution.
Usage
BANOVA.ordMultinomial(l1_formula = "NA",
l2_formula = "NA", data, id, l1_hyper = c(0.0001, 100),
l2_hyper = c(1, 1, 0.0001, 100), burnin = 5000,
sample = 2000, thin = 10, adapt = 0, conv_speedup = F,
jags = runjags.getOption('jagspath'))
## S3 method for class 'BANOVA.ordMultinomial'
summary(object, ...)
## S3 method for class 'BANOVA.ordMultinomial'
predict(object, newdata = NULL,...)
## S3 method for class 'BANOVA.ordMultinomial'
print(x, ...)
Arguments
l1_formula |
formula for level 1 e.g. 'Y~X1+X2' |
l2_formula |
formula for level 2 e.g. '~Z1+Z2', response variable must not be included, if missing, the single level model will be generated |
data |
a data frame |
id |
subject ID of each response unit |
l1_hyper |
level 1 hyperparameters for single level models, default c(0.0001,100) |
l2_hyper |
level 2 hyperparameters, c(a, b, |
burnin |
the number of burn in draws in the MCMC algorithm, default 5000 |
sample |
target samples in the MCMC algorithm after thinning, default 2000 |
thin |
the number of samples in the MCMC algorithm that needs to be thinned, default 10 |
adapt |
the number of adaptive iterations, default 0 (see run.jags) |
conv_speedup |
whether to speedup convergence, default F |
jags |
the system call or path for activating 'JAGS'. Default calls findjags() to attempt to locate 'JAGS' on your system |
object |
object of class |
newdata |
test data, either a matrix, vector or a data frame. It must have the same format with the original data (the same column number) |
x |
object of class |
... |
additional arguments,currently ignored |
Details
Level 1 model:
y_i = 1
, if l_i < 0
y_i = 2
, if 0 < l_i < c_2
...
y_i = \ell
, if c_{\ell-1} < l_i < \infty
l_i = \eta_i + \epsilon_i
where \epsilon_i
~ logistic (0,1)
, c_\ell, (\ell = 2,...L-1)
are cut points, c_\ell
~ N(0, \bar{\sigma}_\ell^2)
, and \bar{\sigma}_\ell^2
~ Uniform(0, d)
, with d
a hyper-parameter.
\eta_i = \sum_{p = 0}^{P}\sum_{j=1}^{J_p}X_{i,j}^p\beta_{j,s_i}^p
, s_i
is the subject id of response i
. see BANOVA-package
Value
BANOVA.ordMultinomial
returns an object of class "BANOVA.ordMultinomial"
. The returned object is a list containing:
anova.table |
table of effect sizes |
coef.tables |
table of estimated coefficients |
pvalue.table |
table of p-values |
dMatrice |
design matrices at level 1 and level 2 |
samples_l2_param |
posterior samples of level 2 parameters |
samples_cutp_param |
posterior samples of cutpoints |
data |
original data.frame |
mf1 |
model.frame of level 1 |
mf2 |
model.frame of level 2 |
JAGSmodel |
'JAGS' model |
Examples
data(goalstudy)
res <- BANOVA.ordMultinomial (perceivedsim~1, ~progress*prodvar, goalstudy,
goalstudy$id, burnin = 1000, sample = 1000, thin = 2)
summary(res)
# or use BANOVA.run based on 'Stan'
require(rstan)
res <- BANOVA.run(perceivedsim~progress*prodvar, data = goalstudy,
model_name = 'ordMultinomial', id = 'id', iter = 100, thin = 1, chains = 2)