*************************************
* *
* Changes in segmented *
* *
*************************************
===============
version 0.4-0.0
===============
* points.segmented added. This function allows to add the joinpoints of the segmented lines on the current plot.
* davies.test() now also implements the Davies test (2002) accounting for the variance estimate in linear (Gaussian) models; this results in more reliable p-values in linear
models with small samples. For GLMs, argument 'type' in davies.test() allows to specify
whether the Wald or the LRT (default) statistic should be used in the Davies approach.
===============
version 0.3-1.1 (not on CRAN)
===============
* predict.segmented() did not work in some particular conditions (for instance when there were exactly 2 terms in the model formula; thanks to Saeed Ahmadi for reporting).
* slope() and confint() did not work appropriately when the model included segmented covariates with "overlapped" names (e.g., "x" and "xx" or ".x").
* plot.segmented() did not account for the option 'interc=FALSE'.
===============
version 0.3-1.0
===============
* broken.line() now accepts arbitrary values to compute predictions for segmented relationships in the model; it also returns relevant standard errors (new argument se.fit).
* plot.segmented() now accepts also 'ylim' and 'xlim' to set limits on the new produced plot (thanks to Samantha Tyner for suggesting that).
* the 'aic' component in the objected returned by segmented.glm() was not based on the correct number of degrees of freedom (it missed "2 times n.breaks"; this error was incidentally introduced in version 0.2-9.1) Thanks to Roland Fuß for reporting.
* segmented.lm(), segmented.glm(), and davies.test() were not working for starting linear models having 'offset' as an argument (and not in the formula).
* A bug fixed in davies.test() (relevant only for covariates with some inflation at the boundaries)
* The (possible) "weights" argument in the starting model was not correctly handled (thanks to Brian Jessop for reporting)
===============
version 0.3-0.0
===============
* predict.segmented method added. This allows to obtain predictions from fitted segmented objects as in standard (generalized) linear models.
* plot.segmented gains several arguments to plot pointwise confidence intervals around the fitted segmented line (e.g. 'conf.level').
* The starting linear object to be passed on to segmented.lm and segmented.glm may include terms such as poly(), ns(), or bs().
===============
version 0.2-9.5
===============
* Some bugs fixed: segmented did not work if the starting linear model including an offset term was called from a dataframe; thanks to Aritz Adin Urtasun (and also to the
the guy which sent me the email on 26th Sept 2013. I lost his email and I do not remember his name). segmented did not work if the starting linear model included the "weights" argument expressed via a function (something like "weights= 1/myweights"); thanks to
Betty Fetscher. segmented did not work if the variable names in seg.Z included the capital "U"; thanks to Lutz Ph. Breitling.
===============
version 0.2-9.4
===============
* in davies.test() the evaluation points are now equally spaced values rather than quantiles (useful when the covariate has one or more mass points; thanks to Eric Goodwin for the suggestion)
* Some minor bugs fixed: bootstrap restarting sometimes did not work when 'seed' was set. segmented.lm() and segmented.glm() did not work correctly when the input
model, "lm" or "glm", included terms such such as sin(x*pi) (where x is also the segmented variable)
===============
version 0.2-9.3
===============
* intercept() (and plot.segmented() that uses intercept()) was not working correctly when the returned breakpoints were not ordered in the fitted segmented model. Now plot.segmented() displays the correct fitted lines in the last example of ?segmented.
* segmented.lm() and segmented.glm() now always return ordered breakpoints.
* segmented.lm() and segmented.glm() now return also the .Random.seed vector when bootstrap restarting is employed. Useful to replicate results.
* draw.history() draws more meaningful convergence diagnostics when the model has ben fitted via bootstrap restarting.
* Some bugs fixed: segmented.lm() and segmented.glm() failed with zero residuals in the iterative procedure. Argument 'linkinv' in broken.line() modified in 'link' (with oppositive meaning).
===============
version 0.2-9.2
===============
* Some minor bugs fixed: some corrections in segmented.glm(); in plot.segmented() the argument 'linkinv' replaced by 'link'; segmented.lm() was not working if the starting model was lm(y~0) or lm(y~1); segmented.lm() is slightly more efficient when n.boot>0.
* The breakpoint starting values when automatic selection is performed are now specified as equally spaced values (optionally as quantiles). see argument 'quant' in seg.control()
* added 'Authors@R' entry in the DESCRIPTION file
===============
version 0.2-9.1
===============
* Some bugs fixed: segmented.lm() and segmented.glm() did not finish correctly when no breakpoint was found; now segmented.lm() and segmented.glm() take care of flat relationships; plot.segmented() did not compute correctly the partial residuals for segmented glm fits.
===============
version 0.2-9.0
===============
* Bootstrap restarting implemented to deal with problems coming from flat segmented relationships. segmented now is less sensitive to starting values
supplied for 'psi'.
* At the convergence segmented now constrains the gap coefficients to be exactly zero. This is the default and it can be altered by the 'gap' argument
in seg.control().
* plot.segmented() has been re-written. It gains argument `res' for plotting partial residuals along with the fitted piecewise lines, and now it produces nicer (and typically smaller) plots.
* Some bugs fixed: davies.test() did not work correctly for deterministic data (thanks to Glenn Roberts for finding the error). davies.test() also
returns the `process', i.e. the different values of the evaluation points and corresponding test statistic.
===============
version 0.2-8.4
===============
* Some bugs fixed: segmented.glm() fitted a simple "lm" (and not "glm") (the error was introduced incidentally from 0.2-8.3, thanks to Véronique Storme for finding the error); broken.line() was not working for models without intercept and a null left slope; intercept() was not working correctly with multiple segmented variables.
===============
version 0.2-8.3
===============
* Some minor bugs fixed: segmented.lm() and segmented.glm() did not find the offset variable in the dataframe where the initial (g)lm was called for;
segmented.lm() and segmented.glm() sometimes returned an error when the automated algorithm was used (thanks to Paul Cohen for finding the error).
===============
version 0.2-8.2
===============
* Some minor bugs fixed (segmented.lm() and segmented.glm() *alway* included the left slope in the estimation process, although the number of
parameters was correct in the returned final fit. confint.segmented() did not order the estimated breakpoints for the variable having
rev.sgn=TRUE; intercept() missed the (currently meaningless) argument var.diff (thanks to Eric Fuchs for pointing out that). )
===============
version 0.2-8.1
===============
* Some minor bugs fixed (segmented.lm() and segmented.glm() were not working correctly with dataframe subset or when the starting
linear model included several intercepts (e.g., see the example about data("plant"); thanks to Nicola Ferrari for finding the error).
davies.test() did not work when the variable name of its argument `seg.Z' included reserved words, e.g. `seg.Z~dist'; thanks to Thom
White for finding the error).
===============
version 0.2-8
===============
* intercept() added. It computes the intercepts of the regression lines for each segment of the fitted segmented relationship.
* plot.segmented() now accepts a vector `col' argument to draw the fitted piecewise linear relationships with different colors.
* Some minor bugs fixed (summary.segmented were not working correctly).
===============
version 0.2-7.3
===============
* argument APC added to the slope() function to compute the `annual percent change'.
* Some minor bugs fixed (confint and slope were not working correctly when the estimated breakpoints were returned
in non-increasing order; offset was ignored in segmented.lm and segmented.glm; broken.line() was not working correctly
(and its argument gap was unimplemented), thanks to M. Rennie for pointing out that;
summary.segmented() was not working for models with no linear term, i.e. fitted via segmented(lm(y~0),..)).
===============
version 0.2-7.2
===============
* segmented.lm and segmented.glm now accept objects with formulas y~., Thanks to G. Ferrara for finding the error.
* Some bugs fixed (slope and confint were using the normal (rather than the t-distribution) to compute the CIs
in gaussian models).
===============
version 0.2-7.1
===============
* segmented.lm and segmented.glm now accept objects without 'explicit' formulas, namely returned by lm(my_fo,..) (and glm(my_fo,..)) where my_fo was defined earlier. Thanks to Y. Iwasaki for finding the error.
===============
version 0.2-7
===============
* A sort of automatic procedure for breakpoint estimation is implemented. See argument
stop.if.error in seg.control().
* davies.test() now accepts a one-sided formula (~x) rather than character ("x") to mean the segmented variable to be tested. davies.test also gains the arguments `beta0' and `dispersion'.
* Some bugs fixed.
===============
version 0.2-6
===============
* vcov.segmented() added.
* option var.diff for robust covariance matrix has been added in summary.segmented(), print.summary.segmented(), slope(), and confint().
* Some bugs fixed.