BANOVA.Normal {BANOVA} | R Documentation |

## Estimation of BANOVA with a normally distributed dependent variable

### Description

`BANOVA.Normal`

implements a Hierarchical Bayesian ANOVA for linear models with normal response and a normal heterogeneity distribution.

### Usage

```
BANOVA.Normal(l1_formula = "NA", l2_formula = "NA", data,
id, l1_hyper = c(1, 1), l2_hyper = c(1, 1, 0.0001), burnin = 5000,
sample = 2000, thin = 10, adapt = 0, conv_speedup = F,
jags = runjags.getOption('jagspath'))
## S3 method for class 'BANOVA.Normal'
summary(object, ...)
## S3 method for class 'BANOVA.Normal'
predict(object, newdata = NULL,...)
## S3 method for class 'BANOVA.Normal'
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 in long format including all features in level 1 and level 2(covariates and categorical factors) and responses |

`id` |
subject ID of each response unit |

`l1_hyper` |
level 1 hyperparameters, c( |

`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`

~ `Normal(\eta_i,\sigma^{-2})`

where `\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`

, `\sigma^{-2}`

~ Gamma(`\alpha,\beta`

). see `BANOVA-package`

### Value

`BANOVA.Normal`

returns an object of class `"BANOVA.Normal"`

. 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 |

`data` |
original data.frame |

`mf1` |
model.frame of level 1 |

`mf2` |
model.frame of level 2 |

`JAGSmodel` |
'JAGS' model |

### Examples

```
# Use the ipadstudy data set
data(ipadstudy)
# mean center covariates
ipadstudy$age <- ipadstudy$age - mean(ipadstudy$age)
ipadstudy$owner <- ipadstudy$owner - mean(ipadstudy$owner)
ipadstudy$gender <- ipadstudy$gender - mean(ipadstudy$gender)
# or use BANOVA.run based on 'Stan'
require(rstan)
res <- BANOVA.run(attitude~owner + age + gender + selfbrand*conspic,
data = ipadstudy, model_name = 'Normal', id = 'id',
iter = 100, thin = 1, chains = 2)
```

*BANOVA*version 1.2.1 Index]