The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The package was built by porting a SAS robustness package and
validating every cell against it. The conventions below are what it took
to agree with PROC MIXED and PROC MI to the
sixth decimal.
| SAS | ballast setting | Note |
|---|---|---|
REPEATED visit / SUBJECT=id TYPE=UN |
covariance = "us" |
ARH(1) is "ar1h", AR(1)
"ar1", CS "cs", CSH
"csh", TOEP "toep",
TOEPH "toeph" |
DDFM=SATTERTHWAITE |
method = "Satterthwaite", vcov = "Asymptotic" |
|
DDFM=KR (the default KR, not KR2) |
method = "Kenward-Roger", vcov = "Kenward-Roger-Linear" |
mmrm’s full Kenward-Roger vcov gives a smaller standard error than SAS |
EMPIRICAL with any DDFM |
method = "Between-Within", vcov = "Empirical" |
SAS cannot combine the sandwich with Satterthwaite or KR and falls
back to between-within degrees of freedom; with
sas_conventions = TRUE the df is computed as observations
minus subjects minus the rank of the within-subject design columns |
LSMEANS trt*visit / DIFF |
weights = "equal" |
class covariates at equal weights over their levels, continuous covariates at their means |
LSMEANS ... OBSMARGINS |
weights = "observed" |
the design averaged over the analysis rows |
LSMEANS ... AT x = value |
stress_fit(spec, at = list(x = value)) |
|
| AICC in the fit statistics | the aicc column |
the SAS REML definition:
-2 res. log lik + 2 d n* / (n* - d - 1), d covariance
parameters, n* = N minus the rank of X |
a CLASS variable with one level in a subset |
dropped with a note | PROC MIXED zeroes the column; R refuses a one-level factor |
PROC MI ... FCS REG |
stress_tipping() |
the regression method with a preliminary monotone fill and burn-in iterations |
MNAR ADJUST(... SHIFT=delta ADJUSTOBS=(trt='active'))
under FCS |
stress_tipping(deltas = ..., shift_every = TRUE) |
SAS adds the shift at every draw, so it propagates through later imputed visits; applying it only to the final draw gives a curve that declines markedly more slowly |
PROC MIANALYZE without EDF= |
Rubin’s rules in mi_pool |
the pooled degrees of freedom can run into the hundreds of thousands when the between-imputation variance is tiny |
MODELOBS= (copy reference as a monotone
regression) |
stress_reference(methods = "CR") |
the package uses the multivariate-normal formulation of Carpenter, Roger and Kenward, validated against rbmi |
library(ballast)
# PROC MIXED; CLASS usubjid avisitn trtpn cohort site; MODEL pchg = base avisitn trtpn trtpn*avisitn cohort site / DDFM=SATTERTHWAITE;
# REPEATED avisitn / SUBJECT=usubjid TYPE=ARH(1); LSMEANS trtpn*avisitn / DIFF;
spec <- stress_spec(adeff, response = "pchg", subject = "usubjid", visit = "avisitn", treatment = "trtpn",
reference = "1", covariates = ~ base + cohort + site, contrast_visit = "7",
covariance = "ar1h", method = "Satterthwaite", vcov = "Asymptotic")Visit as a factor must carry the visit order in its levels;
stress_spec_adam() orders by AVISITN.
Random-number-based methods (multiple imputation, re-randomisation
tests, MM-type robust regression) agree with SAS within Monte Carlo
error only; the package reports the Monte Carlo standard error in the
row’s note. A spatial power covariance over days needs the
time variable rescaled (days divided by 100, say) before mmrm converges;
it is not among the structures the spec accepts.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.