2023-10-18 Bjoern Bornkamp (version 1.1-1)
* Big thanks to Marius Thomas for adding the bMCTtest function,
implementing a generalized version of the Bayesian MCP-Mod
methodology from Fleischer et al (2022) (https://doi.org/10.1002/pst.2193)
* Thanks to Sebastian Bossert for feedback on bMCTtest
* Function critVal is now exported
2023-06-27 Bjoern Bornkamp (version 1.0-5)
* Fixed bug in non-exported function powMCTBinCount, for situation
when user defined contrast matrix is handed over.
* Added function DesignMCPModApp which starts the externally hosted
R-Shiny app DesignMCPMod to perform power and sample size
calculations (main authors of the app are Sophie Sun and Danyi
Xiong).
2023-05-18 Bjoern Bornkamp (version 1.0-4)
* Added non-exported function powMCTBinCount, for power calculation
for binary and count data.
2023-01-05 Bjoern Bornkamp (version 1.0-3)
* Stop and throw error if calculated df=0 in powMCT (passed to
mvtnorm where df=0 implies use of a normal distribution)
* Added function plotMods to plot candidate models using ggplot2
and function plotContr to plot optimal contrasts using ggplot2
(thanks to Sophie Sun for testing and feedback)
* Added documentation for quadratic model (definition of delta)
* Fixed local options in guesst for logistic and sigEmax models
2021-10-03 Bjoern Bornkamp (version 1.0-2)
* Define USE_FC_LEN_T and add length of character arguments in
Fortran code called from C, to reflect recent changes in gfortran.
* Fix incorrect error message in fitMod (in case placAdj = TRUE and
data are handed over in a data frame via data argument)
2021-06-22 Bjoern Bornkamp (version 1.0-1)
* Big thanks to Ludger Sandig, who was instrumental in adding
vignettes for practical MCP-Mod implementation guidance;
introducing tests based on testthat and further bug fixes.
* Thanks to Dong Xi, Hilke Kracker for review of earlier versions of
the draft vignettes
* Thanks to Julia Duda for her helpful comments on the package
2019-11-13 Bjoern Bornkamp (version 0.9-17)
* Added citation to DESCRIPTION file
* Removed alpha argument for pValues function (not used)
* Propagate error messages from mvtnorm in pValues function
(e.g. cov-matrix not psd), (thx to Daisy Bai)
* Make direction attribute in Mods object unique (thx to Yuhan Li)
2017-12-07 Bjoern Bornkamp (version 0.9-16)
* Fixed minor bug in print.summary.planMod
2016-07-26 Bjoern Bornkamp (version 0.9-15)
* Mods Added parameter names for all models in the output list
(thanks to Dong Xi for catching this)
2016-02-02 Bjoern Bornkamp (version 0.9-14)
* planMod.Rd Documentation slightly extended.
* qmvtDF moved back to qmvt function from mvtnorm, as problems
in mvtnorm are fixed.
2015-10-31 Bjoern Bornkamp (version 0.9-13)
* projPrBnds now also covers the case when parameter was exactly
on the bound
* bFitMod doseNam changes
* critVal Added self-written qmvt function qmvtDF (as mvtnorm::qmvt
got instable on Windows 32bit from release 1.0-3), hopefully
superfluous once mvtnorm fixes this.
2014-09-28 Bjoern Bornkamp (version 0.9-12)
* glycobrom dataset: Included column for number of observations
per treatment.
* calcCrit now takes into account "nold" in determining whether
enough design points were specified to be able to calculate
the design criteria.
* bFitMod documentation for plot.bFitMod and predict.bFitMod
methods added. coef.bFitMod method added. Thanks to Lieven Nils
Kennes for pointing towards the issue.
2014-02-11 Bjoern Bornkamp (version 0.9-11)
* Mods Introduce fullMod argument to allow specification
of full model parameters (again).
* calcTDgrad now calculates the analytical gradient for TD
optimal designs for the beta model. The previous numerical
gradient could get unstable for particular parameter values.
Thanks to Tobias Mielke for the calculations!
* planMod.Rd, powMCT.Rd More description on what "sigma" is
* optDesign, optContr Catch Mods objects with multiple direction
attributes properly in these functions.
2013-11-25 Bjoern Bornkamp (version 0.9-10)
* plot.MCPMod In case of no significant model, do not plot anything.
* optContr Bugfix in function constOptC, previous algorithm selected
in some situation an incorrect active set (and hence a suboptimal
solution), the current implementation uses quadratic programming
(hence the new suggested package quadprog).
2013-10-15 Bjoern Bornkamp (version 0.9-9)
* bFitMod.Bayes Stop if starting values lie outside of bounds
specified for the prior distribution
* predict.bFitMod Remove incorrect "if" statement (use
"effect-curve" not "EffectCurve")
* fitModels.bndnls now uses narrowed bounds for 1d models again
(as in 0.9-5 and earlier), thanks to Tobias Mielke for reporting
the three points above.
* optContr now allows for constrained contrasts, i.e. where the
contrast coefficients in placebo and active treatment groups are
required to have different signs.
2013-09-17 Bjoern Bornkamp (version 0.9-8)
* MCPMod Major changes needed (also in fitMod and MCTtest) to allow
for dose/response names different from "dose", "resp" when a
data-frame is specified (the problem existed as MCTtest, fitMod
were called from inside MCPMod).
* bFitMod.Bayes Ensure that the starting values for the parameters
are within the bounds specified by the prior (if no starting
values are specified). Thanks to Tobias Mielke for reporting this.
* bFitMod.bootstrap Remove bug for model = "linear" and placAdj = TRUE.
Thanks to Tobias Mielke for reporting this.
2013-08-15 Bjoern Bornkamp (version 0.9-7)
* fitMod ensure that the data set returned with DRMod objects
is in the original order (not sorted by dose). Also ensure the right
S matrix is used for fitting for type = "general" and unsorted
dose, resp.
* MCTtest fixed problems for type = "general" and unsorted
dose, resp.
* glycobrom Added glycobrom data set
* planMod Added planning functions for non-linear modelling
* Coded calculations of compositions to be able to remove dependency
on the partitions package
* man files: added reference to paper on generalized MCPMod
* plot.DRMod Minor changes to ensure raw means are always inside
the plotting region (for plotData = "means")
2013-04-16 Bjoern Bornkamp (version 0.9-6)
* optDesign Re-named "fmodels" argument to "models".
* optDesign for solnp if lowbnd and uppbnd are specified now use a
feasible starting value (otherwise solnp might get into problems).
* plot.DRMod, plot.MCPMod now use lattice graphics
* powMCT removed bug in case of placAdj = TRUE (thanks to Tobias
Mielke for reporting this)
* ess.mcmc minor change to avoid occasional NA's
* Mods removed class c("Mods", "standMod"), now there is only a
class "Mods", this changes the API of MCTtest, optContr and
MCPMod function (direction argument no longer needed, as this info is now
contained in the "Mods" object).
* neurodeg added the simulated longitudinal dose-finding data set neurodeg
* targN catch incorrect matrix dimension, when in case of only
one alternative model
* fitModel.bndnls old version used narrowed bnds for 1-dim model, when a
starting value was supplied manually (instead of calculated via
optGrid); fixed.
* MCTtest re-name of p-value column to "adj-p".
2013-03-06 Bjoern Bornkamp (version 0.9-5)
* targN, powN added function targN to evaluate a target function
(e.g. power) for different sample sizes (similar to the old
powerMM function). powN is a convenience function for
multiple contrast tests using the power.
* sampSizeMCT added convenience function for sample size calculation
for multiple contrast tests using the power.
* optContr Re-named "weights" argument to "w"
2013-02-12 Bjoern Bornkamp (version 0.9-4)
* TD, ED Fixed bug for model = linInt and placAdj = TRUE
* powMCT Fixed bug for nr(altModels)=1 in case placAdj=TRUE
* Mods Add requirement that placebo dose needs to be included
* print.bFitMod Do not show n.eff for bootstrap samples
* ess.mcmc return NA, if there is just one unique value in chain
* fitMod, MCTtest catch situations, where type = "normal" and
placAdj = TRUE
* bFitMod fixed bug for column names of linear model in case of
placAdj = TRUE
* MCPMod: Fixed sign error in model selection, when critV was specified
2013-01-29 Bjoern Bornkamp (version 0.9-3)
* fitMod Improvements of efficiency (removed calls to do.call
in optLoc)
* MCPMod passes direction argument now also to TD
* optDesign solnp is now the default optimizer
* calcCrit default for arg designCrit in calcCrit changed (to harmonize
calcCrit and optDesign)
* bFitMod use fitMod.raw in bFitMod.bootstrap (for efficiency)
* critVal Remove contMat argument (was unused)
* powMCT Allow power calculation for placebo adjusted data
2013-01-09 Bjoern Bornkamp (version 0.9-1)
* Complete re-structuring and tidying up of the package.
Main ideas: (i) smoother integration of g-functions (ii) focus on
core functionality (iii) more general code/easier extensibility.
* New features: Bayesian dose-response fitting, nicer plots,
optimal designs for non-normal responses, ...
* Special Thanks to Tobias Mielke for testing of the package and
numerous bug reports.
* Previous versions of the source are available under
http://cran.r-project.org/package=DoseFinding under
"Old sources", a Windows binary of the last version
before the changes is available under http://goo.gl/p1UZ7.
2012-08-22 Bjoern Bornkamp (version 0.6-3)
* Added PACKAGE = "DoseFinding" to ".C" calls
2012-04-04 Bjoern Bornkamp (version 0.6-2)
* calcOptDesign partial rewrite of optDes.c and optDesign.R
to fix segfault bug.
2012-02-20 Bjoern Bornkamp (version 0.6-1)
* vcov.gDRMod is now functional, predict.gDRMod now allows
calculation of confidence intervals
* gFitDRModel minor changes in underlying optimizer
* explicitly export the gradients of the model functions now
2012-01-24 Bjoern Bornkamp (version 0.5-7)
* gFitDRModel now always returns an estimate (either the
best value from nlminb or from the grid search if nlminb fails)
* gMCPtest: use sigma = corMat instead of corr = corMat in
p/qmvnorm calls (mvtnorm complained in 1-dimensional case)
* gFitDRModel: Introduced default for bnds argument.
* plot.MCPMod: Plot clinRel in the right place, when direction is
equal to "decreasing" (thanks to Jan Rekowski)
* planMM, critVal: When vCov is specified now right correlation
matrix is calculated
* calcOptDesign: Additional argument (standDopt) to allow for optional
standardization (division of the log determinant by the number
of parameters) of the D-optimal design criterion.
2011-10-19 Bjoern Bornkamp (version 0.5-6)
* getGrid corrected bug for Ngrd > 75025
* calcOptDesign: For method = "exact" and n2 > 0 the function
did not return the optimal incremental design but the
overall optimal design
2011-08-31 Bjoern Bornkamp (version 0.5-5)
* gFitDRModel can now fit dose-response models without
intercept
* gMCPtest minor changes to allow for user defined contrast
matrix
2011-08-09 Bjoern Bornkamp (version 0.5-4)
* MCPtest now uses correct degrees of freedom if addCovars != ~1
* Feedback from Andreas Krause led to a number
smaller changes in the package (e.g., plot.(g)DRMod or
fitDRModel). Thanks Andreas!
* Print lattice plots explicitly to increase compability
with Sweave.
2011-05-06 Bjoern Bornkamp (version 0.5-3)
* Ensure in rndDesign that N is recognized as
an integer by using N <- round(N), to avoid floating point
problems.
* Remove naming bug in gFitDRModel (drFit instead of drEst)
2011-04-27 Bjoern Bornkamp (version 0.5-2)
* Corrected bug in b-vector for sigEmax model (calcBvec,
only affected MED-type optimal designs)
* Included INDEX file to order the overview help-page better
* predict.DRMod now stops when type = "fullModel" and the
argument newdata does not contain values for all variables
specified in addCovars (thanks to Mouna).
2011-03-25 Bjoern Bornkamp (version 0.5-1)
* Restructured calcOptDesign function to allow for user
defined criteria functions.
* The MCPMod object now always contains a estDose and fm
entry (which is NA in case of non-significance or non-convergence)
* Added generalized fitting code, variances and covariances of
estimates are not available at the moment.
* Added vCov argument to planMM, sampSize, powerMM (so it is possible
to take into account covariances when calculating optimal contrasts)
* Changed order in trellis plots in plotModels (order as specified in
models list instead of alphanumerical order)
* Restructured and summarized help pages
* Removed dependency on numDeriv package (only suggested now),
this is only needed for calculating optimal designs involving
the beta model.
2011-02-09 Bjoern Bornkamp (version 0.4-3)
* Minor change in Makevars file (so that DoseFinding works on
Solaris).
2011-02-09 Bjoern Bornkamp (version 0.4-2)
* calcBayesEst, getUpdDesign: Minor changes to make functions
more suited for general purpose use.
2010-12-01 Bjoern Bornkamp (version 0.4-1)
* Introduced new functions calcBayesEst and getUpdDesign,
both were used for simulation purposes in the paper
Bornkamp et al. (2011) "Response Adaptive Dose-Finding
under Model Uncertainty" (to appear in Annals of Applied
Statistics).
2010-11-12 Bjoern Bornkamp (version 0.3-1)
* calcOptDesign now has an additional optimizer "exact". This
methods calculates all possible designs for a given sample size
and then selects the best.
* Changed order in MakeVars as requested
* calcCrit now checks whether there are not less design points
than parameters.
* Code now checks for positive sigma in powCalc and powerMM
2010-11-05 Bjoern Bornkamp (version 0.2-3)
* MED function now checks for clinRel > 0 (thanks to Georgina).
* Changed minor bug in output from print.MCPtest (print one-sided
just once)
* Code now outputs a warning, when 'models' argument is missing
(in MCPMod and fullMod function); in fitDRModel it outputs
a warning if 'model' is missing
* Introduced a default base = 0 and maxEff = 1 for the plotModels
function.
* Added a summary method for DRMod objects.
* Removed superfluous addCovarVals argument from predict.DRMod
* Removed option method = "mult" in calcOptDesign
2010-07-08 Bjoern Bornkamp (version 0.2-2)
* calcCrit and calcOptDesign now check for NA, NaN or +-Inf
values in the gradient and bvector (and stop execution when
these values occur) before passing these values to the C
code.
* Introduced a logLik method for DRMod objects
* Changed mvtnorm.control default argument for "interval"
to reflect recent changes in mvtnorm package.
2010-05-27 Bjoern Bornkamp (version 0.2-1)
* Made the getGrad function (gradient for dose-response model),
including documentation available for end-user (was previously
hidden in NAMESPACE)
* Changes in the plot.MCPMod function (col argument for
panel.superpose was read in different order depending on
lattice options, now there is a manual workaround with
panel.xyplot calls for each group)
2010-05-20 Bjoern Bornkamp (version 0.1-3)
* Smaller changes in calcCrit functions (the parameter p is
now calculated by the nPars function as in getOptDesign)
* Add further options to powerScenario function (now possible
to for user-specified row and column names for output matrix)
2010-05-13 Bjoern Bornkamp (version 0.1-2)
* Removed one example from sampSize to reduce check time.
* modelSelect: Use first model when two models have exactly
the same AIC or BIC value.
* predict.DRMod: Return NA as standard deviation if code
cannot calculate Cholesky transformation of covariance
matrix (thanks to Setia Pramana for the hint).
* calcCrit: Code now allows for specifying multiple designs
in a matrix.
2010-04-14 Bjoern Bornkamp (version 0.1-1)
* fitModel.nls now checks whether nls with plinear option made
a positive number of iterations (as additional convergence check).
In some cases (eg. when number of parameters = number of
doses) plinear does not do any iteration and does *not*
put out a warning message that the algorithm failed.
* The calcOptDesign function now allows for upper and lower bounds
on the allocation weights.
* There is no longer the need to specify clinRel, when one wants
to calculate a D-optimal design.
* Output of bootMCPMod function in case of model averaging now
also includes dose estimates under each model & corrected
bug in print.bootMCPMod function (thanks to Setia Pramana)
2010-03-08 Bjoern Bornkamp (version 0.1)
* 1st Release as version 0.1. Improvements over MCPMod package:
- Extended and improved version of MCPMod (allowing for covariates
and robustified self-developed optimizer)
- Functions for MCP (MCPtest) and Modelling (fitDRModel) part
now available to the user
- New functions (eg. bootMCPMod, powerScenario)
- Functions for calculating optimal designs