Releases: growthcharts/brokenstick
brokenstick 2.5.0
CRAN version brokenstick 2.5.0
corresponds to JSS manuscript doi:10.18637/jss.v106.i07
Changes:
- Updates the manual vignette to conform to the accepted JSS manuscript (March 2023)
- Updates the documentation for CRAN release
- Adds the doi:10.18637/jss.v106.i07 for the forthcoming JSS paper to DESCRIPTION and documentation
brokenstick 2.4.0
brokenstick 2.4.0
Major changes:
- Major update to Broken Stick Model for Irregular Longitudinal Data to sync with revision JSS manuscript version dated 30-10-2022.
- Hiding knots is convenient and automatic by setting the
hide
entry in thebrokenstick
object. Thehide
argument can also be used inprint()
,plot()
,get_knots()
,get_omega()
andsummary()
. - Changes the default number of knots in
brokenstick()
to 5. The former default produced a solution without internal knots. The new default produces a generally more informative starting model when the user does not specify knots (usingknots = c(..., ...)
) or the number of knots (usingk = ...
). - Replaces the
strip_data
argument inpredict()
by the a more intuitiveinclude_data
argument. By default, observed data are now included into the predictions, similar topredict.lm()
. - Turns error
Argument 'newdata' is required for a light brokenstick object.
ofbrokenstick()
into a warning and returnsNULL
. - Adds new
cor
andlower
arguments tosummary.brokenstick()
to tweak output. - Adds documentation for S3 output functions.
- Adds an example to
plot.brokenstick()
on how to create a black and white figure of trajectories
Minor changes:
- Adds
hide
field tobrokenstick
object - Adds
hide
arguments tocoef.brokenstick()
,summary.brokenstick()
,plot()
,get_knots()
andget_omega
- Replaces
what
argument ofget_omega()
bycor
- Separates
summary()
andprint()
functionality - Updates
smocc_200
andfit_200
objects - Updates to
roxygen 7.2.1
- Replace hard-coded variable name
hgt_z
by a dynamic name (#8) - Extends capabilities of
plot_trajectory()
withshape
andlinetype
options - Replaces
knots = 0:3
byknots = 0:2
in examples - Updates the perfectmodel vignette
- Expression
predict(fit_200_light, x = "knots")
now produces warning message instead of crashing - Updates objects
fit_200
andfit_200_light
to use automatic boundary (2.68y) instead of 3 yrs - Automatically sorts any user-specified values for knots in increasing order to evade problems with
predict()
brokenstick 2.1.0
Improvements suggested by Journal Stat Soft.
- Defines an
model.frame.brokenstick()
function that adheres to conventions - Changes return values by
fitted()
andresiduals()
to vectors - Defines a less verbose
print.brokenstick()
helper - Make all calls to
library()
to character argument - Removes
library(lme4)
from code to evade changing the search path - Updates
vignettes/bibliography.bib
to title case
Other changes
- Reorganises the vignettes
- Renames
brokenstick-article.Rmd
tomanual/manual.Rmd
, include high-res version on the site and take out of the package to save space - Removes superfluous navigation from vignettes
- Shrinks the size of brokenstick object by removing the
formula
list element - Shrinks the size of light objects by removing the
sigma2j
vector from the lightbrokenstick
class
brokenstick 2.0.0
This is a major upgrade in terms of usability and completeness. Version on CRAN
Main changes
-
Function
brokenstick()
in version2.0.0
sets the Kasim-Raudenbush sampler as the default method. The former methodlme4::lmer()
remains available by settingmethod = "lmer"
argument. -
Version
2.0.0
adopts the variable names of thecoda
package (e.g.,start
,end
,thin
,niter
, and so on) and stores the results of the Kasim-Raudenbush sampler as objects of classmcmc
. -
For
method = "kr"
one may now inspect the solution of the sampler by standard functions from thecoda
package. Formethod = "lmer"
we can apply functions from thelme4
package formerMod
objects. -
Version
2.0.0
redefines thebrokenstick
class. New entries includecall
,formula
,internal
,sample
,light
,data
,imp
andmod
. Removed entries areknots
(renamed tointernal
) anddraws
(renamed toimp
). We may omit thenewdata
argument for the training data. Settinglight = TRUE
creates a small version of thebrokenstick
object. Objects of classbrokenstick
are not backwards compatible, so one should regenerate objects of classbrokenstick
in order use newer features in2.0.0
. -
Version
2.0.0
conforms to classic model fitting interface inR
. Renames thenew_data
argument tonewdata
to conform topredict.lm()
. Methodsplot()
andpredict()
no longer require anewdata
argument. All special cases ofpredict()
updated and explained in documentation and examples. -
Version
2.0.0
adds methodscoef()
,fitted()
,model.frame()
,model.matrix()
,print()
andsummary
for thebrokenstick
object. -
Simplifies algorithmic control. Renames
control_brokenstick()
toset_control()
and removes a layer in the control list.
Minor changes
- Stabilises the
rgamma()
calls in KR-algorithm for edge cases. predict_brokenstick()
can now work with the both (internal) training and (external) test data.- Removes the superfluous
type
argument frompredict.brokenstick()
- Adds a function
get_omega()
to extract the variance-covariance matrix of the broken stick estimates - Adds choice
"dropfirst"
toget_knots()
- Improves error messages of edge cases in
test-brokenstick_edge.R
- Perform stricter tests on arguments of
brokenstick()
- Introduces argument
warn_splines
inmake_basis()
to suppress uninteresting warns fromsplines::bs()
- Removes superfluous
knotnames
argument inmake_basis()
- Argument
x
inmake_basis()
is now a vector instead of a column vector - Introduces new
xname
argument inmake_basis()
to set the xname
brokenstick 2.0.0
This is a major upgrade in terms of usability and completeness. NOTE: See tag v2.0.0_CRAN for CRAN version.
Main changes
-
Function
brokenstick()
in version2.0.0
sets the Kasim-Raudenbush sampler as the default method. The former methodlme4::lmer()
remains available by settingmethod = "lmer"
argument. -
Version
2.0.0
adopts the variable names of thecoda
package (e.g.,start
,end
,thin
,niter
, and so on) and stores the results of the Kasim-Raudenbush sampler as objects of classmcmc
. -
For
method = "kr"
one may now inspect the solution of the sampler by standard functions from thecoda
package. Formethod = "lmer"
we can apply functions from thelme4
package formerMod
objects. -
Version
2.0.0
redefines thebrokenstick
class. New entries includecall
,formula
,internal
,sample
,light
,data
,imp
andmod
. Removed entries areknots
(renamed tointernal
) anddraws
(renamed toimp
). We may omit thenewdata
argument for the training data. Settinglight = TRUE
creates a small version of thebrokenstick
object. Objects of classbrokenstick
are not backwards compatible, so one should regenerate objects of classbrokenstick
in order use newer features in2.0.0
. -
Version
2.0.0
conforms to classic model fitting interface inR
. Renames thenew_data
argument tonewdata
to conform topredict.lm()
. Methodsplot()
andpredict()
no longer require anewdata
argument. All special cases ofpredict()
updated and explained in documentation and examples. -
Version
2.0.0
adds methodscoef()
,fitted()
,model.frame()
,model.matrix()
,print()
andsummary
for thebrokenstick
object. -
Simplifies algorithmic control. Renames
control_brokenstick()
toset_control()
and removes a layer in the control list.
Minor changes
- Stabilises the
rgamma()
calls in KR-algorithm for edge cases. predict_brokenstick()
can now work with the both (internal) training and (external) test data.- Removes the superfluous
type
argument frompredict.brokenstick()
- Adds a function
get_omega()
to extract the variance-covariance matrix of the broken stick estimates - Adds choice
"dropfirst"
toget_knots()
- Improves error messages of edge cases in
test-brokenstick_edge.R
- Perform stricter tests on arguments of
brokenstick()
- Introduces argument
warn_splines
inmake_basis()
to suppress uninteresting warns fromsplines::bs()
- Removes superfluous
knotnames
argument inmake_basis()
- Argument
x
inmake_basis()
is now a vector instead of a column vector - Introduces new
xname
argument inmake_basis()
to set the xname
brokenstick 1.1.0
brokenstick
on CRAN
First CRAN release!
Major changes
- The package is now hosted on https://github.com/growthcharts/brokenstick/
- The online documentation is now at https://growthcharts.org/brokenstick/
- Adds the 50-page JSS manuscript as a vignette
- Extends
plot.brokenstick()
with the ability to plot imputed trajectories - Adds the
weightloss
data - Removes dependencies on
hardhat
andrecipes
- Trims the
brokenstick
object from 250k to 20k by removing blueprints - Removes the
recipe
interface to thebrokenstick()
function
Minor changes
- Updates cran-comments
- Adds a link to the JSS manuscript in the
description
field - Removes unnecessary
\dontrun{}
directives - Exports
parse_formula()
to remove:::
from examples - Sanitises chunk names by removing
:
and_
characters - Corrects some "first-order" mindo's to "second-order"
- Repairs plotting glitch in
oldfriends.Rmd
- Limits number of printed rows in
predict.brokenstick()
example - Remove the prediction vignette and its dependencies
- Fail early when user specifies
degree > 1
- Adds argument
what
toplot.brokenstick()
- Solves a bug that always yielded zero rows for case 3 prediction
- Solves a data combination problem in
predict()
when the group variable is a factor - Add a better explanation of the
boundary
parameter - Evades that
model.matrix()
removes rows withNA
ifdegree = 0
- Moves
ggplot2
tosuggests
- Copies over the
install.on.demand()
function frommice
brokenstick 0.72.0
brokenstick 0.72.0
- Adds support for fitting and predicting a brokenstick model with
degree = 0
- Avoids
ggplot2
out-of-range/missing messages through pre-filtering - Adds badges, resources and references to README
- Updates license and CITATION
- Removes the import dependency on
growthstandards
package - Updates and corrects
plot
examples
brokenstick 0.70.0
brokenstick 0.70.0
follows the tidymodels paradigm. This version includes the following changes:
-
brokenstick
adopts thetidymodels
philosophy. It is now possible to fit a model using five different interfaces. There is no need anymore the hardcode variable names in the source data. -
Version
0.70.0
introduces a new estimation method, the Kasim-Raudenbush sampler. The new method is more flexible and faster thanlme4::lmer()
when the number of knots is large. -
Version
0.70.0
introduces two simple correlation models that may be used to smooth out the variance-covariance matrix of the random effects. -
The definition of the
brokenstick
class has changed. Objects of classbrokenstick
do no longer store the training data. -
The
brokenstick_export
class is retired. -
The
predict()
function is fully rewritten as has now a new interface. Since thebrokenstick
class does not store the training data anymore, thepredict()
function now obtains anew_data
argument. Syntax that worked forbrokenstick
package before0.70.0
does not work anymore and should be updated. Theshape
argument replaces theoutput
argument. -
The
plot()
function is rewritten, and now requires anew_data
specification. -
Replaced functions:
brokenstick()
replacesfit_brokenstick()
,predict.brokenstick()
replacespredict.brokenstick_export()
,get_r2()
replacesget_pev()
-
Removed functions:
get_data()
,get_X()
,export()
Legacy version
This release marks the end of the line of development of the classic interface.
The release will be superseded by a much updated version with some breaking changes. That update will preserve functionality, but - unfortunately - your old code won't run with newer versions of the brokenstick
package. The advice is to adopt the new interface, using the "Help for old friends" vignette.
Use this "legacy version" only if you cannot update your code.