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, \gamma, d), default c(1,1,0.0001,100)

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 BANOVA.ordMultinomial (returned by BANOVA.ordMultinomial)

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 BANOVA.ordMultinomial (returned by BANOVA.ordMultinomial)

...

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 BAnova

coef.tables

table of estimated coefficients

pvalue.table

table of p-values table.pvalues

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)


[Package BANOVA version 1.2.1 Index]