q
,
to be equal to the number of measurement waves, T
. Random effects are grouped by subject and
all q
parameters receive the DP prior. An additional set of random effects are included that
utilize a different grouping factor; e.g. treatment(s) exposure or dosage. These additional random
effects are mapped back to subjects through a multiple membership weight matrix.
dpgrowmm(y, subject, trt, time, n.random, n.fix_degree, formula, random.only, data, Omega, group, subj.aff, W.subj.aff, multi, n.iter, n.burn, n.thin, strength.mm, shape.dp, rate.dp, plot.out, option)
N
captures the number of subject-time cases (repeated subject measures). Data may reflect unequal
number of measures per subject. Missing occasions are left out as no NA
values are allowed.(1,1,1,2,2,3,3,3,...,n,n,n)
, where n
is the total
number of subjects.N
(number of cases) indicating treatment
group assignments for each case. May also be input as length P
vector, where P
is
the number of unique subjects, indicating subject group assignment. Multiple treatment groups
are allowed and if the vector is entered as numeric, e.g. (0,1,2,3,..)
, the lowest numbered
group is taken as baseline (captured by global fixed effects). If entered in character format,
the first treatment entry is taken as baseline. If the are no treatment (vs. control) groups,
then this vector may be excluded (set to NULL).N
, capturing the time points associated to each by-subject
measure. Mav leave blank if only one time point (no repeated measures).q
. Since a DP prior is used on subject effects,
may be set equal to the number of measurement waves, T
. The y, trt, time
vectors will together
be used to create both fixed and random effect design matrices. The random effects matrix will be of the
the form, (1, time, ... , time^(n.random - 1))
(grouped, by subject
).
This formulation is a growth curve model that allows assessment of by-treatment effects and by-client growth curves.(time, ..., time^(n.fix_degree), trt_1,time*trt_1, ... ,time^(n.fix_degree)*trt_l, trt_L,..., time^(n.fix_degree)*trt_L)
.
This formulation is a growth curve model that allows assessment of by-treatment effects and by-client growth curves.
If is.null(n.fix_degree) | n.fix_degree == 0 & is.null(trt)
time-by-treatment fixed effects and growth curves are not generated.formula
with the following format,
y ~ x_1 + x_2*x_3 | z_1*z_2
as an object of class formula
. The bar, |
, separates fixed and random effects. If it
is only desired to enter either fixed or random effects, but not both then the |
may be omitted. Note:
the nuisance random effects are assumed to be grouped by subject. The fixed and random effects values may change with
each repeated measure; however, within subject growth curves will keep constant z
and x
values between
measurement waves. It is possible to bypass the growth curve construction by leaving y, trt, time, n.random, n.fix_degree
blank and entering only formula
, instead. The model output plots, will, however
exclude growth curves in that event. If a formula is input (which requires response, y
) then
the separate entry of y
may be omitted. If the parameter y
is input, it will be over-written by that from formula
.formula
is entered without a |
, random.only
defaults to
FALSE
.data.frame
containing the variables with names as specified in formula
, including the response, y
.S
is the number of effects mapped to subjects through the multiple membership construction.
This input applies only to option = "mmcar"
.S
, providing group identifiers for each of S
multiple membership effects
(e.g. (1,1,1,2,2,...)
. If excluded, it is assumed there is a single group.subject
composed with unique subject identifiers that are linked to the multiple
membership effects; e.g. one or more treatment cohorts. If all subjects are to receive the mapping of multiple membership effects,
subj.aff
may be left blank.P.aff
is the length
of the unique subjects to whom the multiple membership random effects applies. It is assumed that the row order is the same
as the order of subj.aff
(or unique(subject)
if subj.aff
is not input). If W.subj.aff
is a multiple membership
weight matrix, then the rows will sum to 1. The form and therefore, interpretation of output is dependent on form of input; for example,
the rows of W.subj.aff
may include indicators for whether each of S
treatment dosages are linked to a given subject
.TRUE
indicates the each of the S
MM effects is multivariate.
Leave blank if univariate multiple membership effects are desired.
It is assumed that the associated design matrix is equal to the number of time-indexed random effects.
For example, the time-indexed (non-nuisance) random effects design matrix, Z = (1,time,time^n.random-1) is also
used to compose an inner product with each row of the N x n.random
MM product, W * U
, where
W
is case-expanded MM design matrix and U
is the S x n.random
set of multivariate MM effects.dpgrow
will return (n.iter - n.burn)
posterior samples.tau_{gamma} ~ G(strength.mm,strength.mm)
prior on the precision parameter of either a
CAR (gamma ~ CAR(tau_gamma)) or independent (gamma ~ N(0,tau^(-1)I_S) prior on the set of S
multiple membership effects.n
is the total number of subjects.TRUE
.mmcar
places a CAR prior on the set of multiple membership effects;
2. mmi
places the usual independent Gaussian priors on the set of multiple membership effects.
3. mmigrp
employs a set of independent Gaussian priors, but with a common mean parameter
for each sub-group of multiple membership effects sharing a common group identifier.
(e.g. treatment groups that disjointly divide therapy sessions from Savitsky and Paddock (2011))dpgrowmm
object, for which many methods are available to return and view results. Generic functions applied
to an object, res
of class dpgrow
, includes:
, includes:T. D. Savitsky and S. M. Paddock (2012) Visual Sufficient Statistics for Repeated Measures data with growcurves for R, submitted to: Journal of Statistical Software.
dpgrow
, dpgrowmult
## Not run:
# ## extract simulated dataset
# library(growcurves)
# data(datsim)
# ## attach(datsim)
# ## Model with DP on clients effects, but now INCLUDE session random effects
# ## in a multiple membership construction communicated with the N x S matrix, W.subj.aff.
# ## Returns object, res.mm, of class "dpgrowmm".
# shape.dp = 3
# strength.mm = 0.001
# res.mm = dpgrowmm(y = datsim$y, subject = datsim$subject,
# trt = datsim$trt, time = datsim$time,
# n.random = datsim$n.random,
# n.fix_degree = 2, Omega = datsim$Omega,
# group = datsim$group,
# subj.aff = datsim$subj.aff,
# W.subj.aff = datsim$W.subj.aff,
# n.iter = 10000, n.burn = 2000, n.thin = 10,
# shape.dp = shape.dp, rate.dp = rate.dp,
# strength.mm = strength.mm, option = "mmcar")
# plot.results = plot(res.mm) ## ggplot2 plot objects,
# summary.results = summary(res.mm) ## credible intervals and fit statistics
# samples.posterior = samples(res.mm) ## posterior sampled values
# ## End(Not run)
Run the code above in your browser using DataLab