Changes in Version 1.4.0 o plot.sitar plots multiple curves for options 'd' and 'v' when the model includes categorical variables. o plot.sitar option 'V' returns velocity curves that are both faster and more accurate. o xyadj is extended to convert velocity from/to the mean. o If df > 1 and random = 'a+b+c+d' then fixed = 'a+b+c' by default. o If df = 1 in sitar then fixed effects b and d are excluded. o the function identity is now recognised by ifun. o Bugs in update.sitar and BICadj relating to the keep.data argument are fixed. o An egregious bug with factor covariates in predict.sitar is fixed. o The fitnlme function in sitar is simplified. o A bug in ob_convertr2 handling missing data is fixed. Changes in Version 1.3.0 o Typos in the berkeley dataset reported as issue #7 are fixed. o The argument keep.data is added to sitar with default TRUE. This saves a copy of the data in the object, which avoids some environment issues. o ob_convertr is rewritten and extended with the addition of ob_convertr2, and is now much faster. As a result the interface is altered - a breaking change. o The dataset deren example is updated to match the revised ob_convertr. Changes in Version 1.2.0 o The dataset deren is added for use with ob_convertr. o A function ob_convertr is added which converts child prevalence rates for underweight, overweight or obesity from one reference cutoff to another. o dfpower is extended to include fixed effects for a-b-c-d as well as spline degrees of freedom and powers of x and y. It also now passes the control arg if set and refits the target object. o A major extension to the SITAR model is to add a fourth random effect called d, which is the age slope. It allows the simple random intercept random slope model to be fitted, but it also extends the usual SITAR model by allowing the adult portion of the growth curve to vary in slope. o A breaking change fixes the prediction and plotting of mean curves for models with fewer fixed effects than random effects, e.g. random = 'a + b + c' and fixed = 'a + b'. The mean curve now corresponds to the mean of the fitted random effects, whereas before it did not. o The fitted SITAR model now includes an element 'constants', a data frame giving the mean values of a-b-c-d indexed by unique levels of covariates where fitted. Can be useful for models with complex fixed effects. o Two functions optimal_design and nagegp are added for the optimal design of group reference centile studies - see Cole (Statistical Methods in Medical Research, 2020). A vignette has also been added describing how to use them. o The cdc2000 and iotf datasets are added. o The who0607 dataset is added, extending who06 to age 19 for height, weight and BMI. o The ukwhoterm dataset is added, similar to ukwhopt but excluding infants born preterm. o The ukwhopt dataset is extended to cover age 26 weeks gestation to 20 years. o apv_se is updated to work with the latest version of rtidy. o LMS2z is extended to handle disjunct references, where the centiles have a break or disjunction. Sex is also checked for more carefully. o sitar has a new argument pdDiag, which forces the random effects covariance matrix to be diagonal. Convergence can be much quicker, though the model may fit less well. o pdLMS density calculation corrected. o In plot.sitar, transformations of x / y using xfun / yfun are now applied after back-transforming x / y to their original scales. o getPeakTrough algorithm improved, and takeoff argument added for use with velocity curves to identify age at takeoff. o Methods getPeak, getTrough and getTakeoff are added as special cases of getPeakTrough. Changes in Version 1.1.1 o trim (new) option in plot.sitar to remove unsightly long lines from plots. o For trim to work, mplot now allows rows with missing data. o apv_se (new) bootstraps standard errors for peak velocity (pv) and age at pv. o getPeakTrough now uses xy.coords and returns NA if no turning points. o Fix several bugs in plot.sitar, involving subset with predict, dashed line for velocity, and axis 4 etc. o BREAKING CHANGE - options 'dv' with subset in plot.sitar now work as they should, showing mean curves for the subset selected. o predict.sitar improved so individual velocity curves (option V) now plot correctly when y and/or t are transformed. o Fix bugs in xyadj improving the defaults for y and id, and making abc a data frame and adding missing columns. o msMaxIter default in nlmeControl doubled to 100. o getData.sitar now based on getData.nlme not getData.lme. o LMS2z now requires 'measure' to be character, changing example accordingly. Also the specification of the sex argument has been improved and extended. Changes in Version 1.1.0 o plot.sitar now allows data output for plotting in ggplot2 etc. o plot.sitar now applies apv to multiple curves (options D and V). o Fix bug in plot.sitar with options dv. o Add vignette Fitting models in SITAR. o Add berkeley dataset. o cLMS and zLMS now return a matrix if z or x are matrices. o LMS2z now returns a matrix if y is a matrix. o Fix bug in z2cent for 11th, 12th and 13th centiles. o pdLMS (new) plots density function(s) of Box-Cox transformed variable(s). o mplot now omits rows with missing data. o predict.sitar now recognises special case of .x and .id in newdata. Changes in Version 1.0.10 o getPeakTrough (new) identifies peaks and troughs of a curve (used to improve code for age at peak velocity - replaces makess). o AICadj and BICadj now adjust for subset, and code improved. o dfpower (new) tabulates BIC/AIC for SITAR models by degrees of freedom and/or xy power transformations. o getL (new) extracts the power transform of a variable in an expression. o dfset (new) identifies optimal degrees of freedom for a natural spline curve. o Improve label handling in plot.sitar. o Fix bug in update.sitar with df and xoffset. o Fix bug in predict.sitar when b.formula = ~covariate - 1. o Fix bug in predict.sitar with abc. o Constrain df to be >1 in sitar. o Fix bug in sitar with make.names. Changes in Version 1.0.9 o Fix bug in sitar with subset. o Improve ifun call, code and documentation, adding verbose arg and returning varname as attribute. o Reorder args in xyadj. o Fix bug in y2plot with par(mar). o Add lag, differences, sort and keepNA to diffid args. o Fix bug in predict.sitar concerning id in newdata. o Improve handling of ... args in plot.sitar with D and V options. Changes in Version 1.0.8 o timegap (new) indexes equally spaced ages, to simplify binning age into age groups. o Use dynGet instead of get in BICadj. o Improve handling of y2 axis in y2plot. o Fix bug in plot.sitar introduced in 1.0.7. Changes in Version 1.0.7 o Add github URL to DESCRIPTION. o Documentation and NAMESPACE now generated by Roxygen2, and S3 methods no longer visible. o Extend ifun to handle cospi, sinpi and tanpi, and improve documentation. o Extend predict.sitar to handle deriv 2 (acceleration). o Extend sitar to allow functions in a.formula, b.formula and c.formula. Improve documentation for this case. o Fix bug in sitar where the start vector is the wrong length. o Fix bug in predict.sitar involving default value of yfun argument. o Fix bug in predict.sitar for when a.formula, b.formula and c.formula involve a single variable. Changes in Version 1.0.6 o Tidied up code in predict.sitar and xyadj, altering the defaults for abc, xfun and yfun. The asList argument in predict.nlme and level == 0:1 now work correctly. o Fixed a bug in predict.sitar involving covariates in newdata (Costanza Pizzi). Factors in newdata are now represented as = rather than = [01] as before. o Fixed a bug in plot.sitar involving subset with options d and v (Costanza Pizzi). o Fixed a bug in plot.sitar involving subset with options D and V. Changes in Version 1.0.5 o xoffset and bstart rationalised in sitar and update.sitar. Now xoffset defaults to mean(x) and bstart defaults to xoffset, leading to greater stability in model fitting. This is a more complete solution to issue 2 in 1.0.4. Note that models fitted in previous versions need to be refitted. Changes in Version 1.0.4 o update.sitar code updated and simplfied. o in sitar and update.sitar the offset for knots and bounds changed from bstart to mean(x) (suggestion of Jeroen Sichien). o LMS2z loses data argument. o LMS2z, cLMS and zLMS now return a vector or a matrix. o predict.sitar and plot.sitar now create function fitnlme on the fly when it's missing. o sitar handling for weights commented out. o ifun bugs fixed and code simplified. o man pages updated. Changes in Version 1.0.3 o The heights database had age at menarche added. o In plot.sitar ifun was used to automatically back-transform transformations of x and/or y in the sitar model. o ifun (new) inverts an expression defining a data transformation. o xyadj (new) adjusts x and y variables for SITAR random effects. o predict.sitar was extended with a deriv argument to give predicted velocity. o getCovariate and anova methods for sitar were added. o In plot.sitar new options D and V provide spline curves of individual distance and velocity curves. o In sitar and plot.sitar bugs were fixed and code simplified by use of predict.sitar, xyadj and ifun. Changes in Version 1.0.2 o In DESCRIPTION the title and description were corrected, and Suggests was changed to Imports. o In NAMESPACE lines.sitar and print.summary.sitar were added to S3 methods and splines was added to import (both previously omitted in error). o predict, getVarCov and getData methods for sitar were added. o The sitar command was rewritten to save the function fitnlme, for use with predict. As a result the hidden file .fitnlme is no longer created. o The plot.sitar command now uses predict to control the number of points when drawing spline curves, and any covariate values default to zero. o LMSfit was added. o lms2z was renamed LMS2z for consistency. o The changes in 1.0.1 to the graphical options xaxsd and yaxsd to deal with log scales were corrected. o The man files were updated. Changes in Version 1.0.1 o The environment for reading the call in sitar, plot.sitar and lines.sitar was corrected. o The graphical options xaxsd and yaxsd were extended to deal with log scales. Changes in Version 1.0 o First CRAN release of package "sitar" for growth curve analysis.