28 Dec 2022: statmod 1.5.0 - New function expectedDeviance() to compute expected values and variances of unit deviances for linear exponential families, using C code written by Lizhong Chen. Add Lizhong Chen as package author. - Replace NAMESPACE exportPattern() with export(). - New argument `n0` for compareGrowthCurves() and CompareTwoGrownCurves() to avoid permutation p-values exactly zero. - Add link to Phipson & Smyth postprint on arXiv in help references for permp() and compareGrowthCurves(). 12 Aug 2022: statmod 1.4.37 - Fix mathematic equations in remlscor.Rd. - Explain simulation method of power.fisher.test() in power.Rd. - Update http to https URLs in elda.Rd, gauss.quad.Rd and gauss.quad.prob.Rd. - Change url to doi for reference in elda.Rd. - Add doi for reference in fitNBP.Rd. 10 May 2021: statmod 1.4.36 - Update tweedie() part of statmod-Tests.R - Update reference URLs in elda.Rd, glmgam.Rd, glmnbfit.Rd, glmscoretest.Rd, permp.Rd, qresiduals.Rd, remlscor.Rd, tweedie.Rd - Reformat usage lines for gauss.quad and gauss.quad.prob. 25 Aug 2020: statmod 1.4.35 - Fix bug in tweedie(link.power=0) so that the resulting functions $linkinv() and $mu.eta() preserve the attributes of their arguments. 16 Feb 2020: statmod 1.4.34 - Improve the model description provided in the remlscoregamma() help page. - tweedie() now checks whether `var.power` or `link.power` are character strings instead of numeric. If `var.power` is one of the standard family names ("gaussian", "poisson", "gamma" or "inverse.gaussian") or `link.power` is one of the standard link functions ("identity","log","inverse") then the argument is reset to the corresponding numerical value with a message, otherwise an informative error message is given. - Cleaning up of internal code to avoid partial matching of function arguments, attributes or list component names. The automatic package tests are now run with the warnPartialMatchArgs, warnPartialMatchAttr and warnPartialMatchDollar options all set to TRUE. 4 Jan 2020: statmod 1.4.33 - The components returned by mixedModel2Fit() relating to fixed coefficients are now documented explicitly. The help page has been corrected to refer to the argument `only.varcomp` instead of `fixed.estimates`. The vector of `reml.residuals` is no longer part of the output. - The test file has been slightly revised using zapsmall() so ensure that the test output file remains correct for R with ATLAS BLAS. 29 May 2019: statmod 1.4.32 - Bug fix to glmnb.fit() when all the y values are zero. 24 Feb 2019: statmod 1.4.31 - Add Dunn & Smyth (2018) GLM book as a reference for glm.scoretest() and Randomized Quantile Residuals. Rewrite the Details section of the glm.scoretest help page. - Update minimum version of R to 3.0.0 in DESCRIPTION file. 16 June 2017: statmod 1.4.30 - Bug fix to qinvgauss(). In some case the gamma approximation used for small right tail probabilities was taking the initial value outside the domain of convergence. 27 February 2017: statmod 1.4.29 - rinvgauss() now accurately handles large or infinite values for the mean or dispersion. 26 February 2017: statmod 1.4.28 - R_registerRoutines is now used to register the Fortran subroutine gaussq2. - pinvgauss() and qinvgauss() now use a gamma approximation when the coefficient of variation is very small. 17 December 2016: statmod 1.4.27 - qinvgauss() now supports mean=Inf. 28 August 2016: statmod 1.4.26 - Fortran function gaussq2 updated to Fortran 77. 5 August 2016: statmod 1.4.25 - Add CITATION file. - pinvgauss() now uses an asymptotic approximation to compute right tail probabilities for extreme large quantiles. This allows it to give correct right tail probabilities for virtually any quantile. - Fix to qinvgauss() to avoid NA values when computing extreme tail quantiles where the inverse Gaussian density is subject to floating underflow. - Bug fix to qresiduals() and qresid.invgauss() for the inverse Guassian distribution. 2 February 2016: statmod 1.4.24 - speedup for rinvgauss() by replacing rchisq() with rnorm() and rbinom() with runif(). - speedup for qinvgauss() by using qgamma as starting approximation for very small right tail probabilities, and inverse chisq as starting approximation for very small left tail probabilities. - qinvgauss() now computes Newton step using log probabilities and a Taylor series expansion for small steps. This improves accuracy in extreme cases. The stopping criterion for the Newton iteration has been revised. - Bug fix to dinvgauss(), pinvgauss() and qinvgauss() which were not preserving attributes of the first argument. 30 December 2015: statmod 1.4.23 - qinvgauss() has been improved to return best achievable machine accuracy. It now checks for backtracking of the Newton iteration. - dinvgauss() and pinvgauss() now check for a wider range of special cases. This allows them to give valid results in some cases for infinite or missing parameter values and for x outside the support of the distribution. 26 October 2015: statmod 1.4.22 - Functions needed from the stats and graphics packages are now explicitly imported into the package NAMESPACE. 30 March 2015: statmod 1.4.21 - qinvgauss() now treats input arguments of different lengths or NA parameter values more carefully. - elda() now gracefully removes structural zeros, i.e., rows where the number of cells or the number of assays is zero. - S3 print and plot methods for "limdil" class now registered. - Use of require("tweedie") in the qres.tweedie() code replaced by requireNameSpace("tweedie"). 31 May 2014: statmod 1.4.20 - Considerable work on the inverse Gaussian functions dinvgauss(), pinvgauss(), qinvgauss() and rinvgauss(). The parameter arguments are changed to mean, shape and dispersion instead of mu and lambda. The functions now include arguments lower.tail and log.p, meaning that right-tailed probabilities can be used and probabilities can be specified on the log-scale. Good numerical precision is maintained in these cases. The functions now respect attributes, so that a matrix argument for example will produce a matrix result. Checking is now done for missing values and invalid parameter values on an element-wise basis. A technical report has been written to describe the methodology behind qinvgauss(). - Change to qresid.invgauss() to compute extreme tail residuals accurately. (This introduced a bug that was fixed in version 1.4.25.) - This file has been renamed to NEWS instead of changelog.txt. - The introductory help page previously called 1.Introduction is now named statmod-package. 13 April 2014: statmod 1.4.19 - qinvgauss() now uses a globally convergent Newton iteration, which produces accurate values for a greater range of parameter values. - glmnb.fit() now supports weights. 27 September 2013: statmod 1.4.18 - Update reference for permp(). - bug fix to elda() so that it returns NA for the tests instead of giving an error when the Fisher information for the slope isNA. - Exact roles of authors specified in DESCRIPTION file. - All usage lines in help files wrapped at 90 characters to ensure that code is not truncated in pdf manual. 30 January 2013: statmod 1.4.17 - new function eldaOneGroup() to conduct limiting dilution analysis when there is only one treatment group. This function implements a globally convergent Newton iteration to avoid occasional problems with lack of convergence of the usual glm calculations. - elda() (aka limdil) now call eldaOneGroup() to get confidence intervals and score tests. This improves the numerical reliability of the function. - more detail added to the elda() help page about the interpretations of the goodness of fit tests. - new function forward() for forward selection in multiple regression with an unlimited number of candidate covariates. - license upgraded to GPL from LGPL. 28 September 2012: statmod 1.4.16 - gauss.quad() and gauss.quad.prob() now use Fortran to solve tridiagonal eigenvalue problem, with considerable gain in speed. Updates to references for the same two functions. - Formatting of gauss.quad test output to ensure agreement between Unix and Windows. - mixedModel2 test code no longer prints REML residuals, because these are not reproducible between Windows and Unix. 6 August 2012: statmod 1.4.15 - improvements to glmnb.fit() to make it more numerically robust. - use of lgamma() in gauss.quad() to avoid floating overflows with kind="jacobi". 19 November 2011: statmod 1.4.14 - power.fisher.test() now accepts a new argument alternative which indicates the rejection region. 25 October 2011: statmod 1.4.13 - bug fix to glmnb.fit() when dispersion is a vector argument. 18 October 2011: statmod 1.4.12 - glmnb.fit() now accepts vector dispersion argument. - change to residual returned by tweedie glms when var.power=2 and y==0. In this case the theoretical residual is -Inf. The value returned by the tweedie family is finite, but smaller than previous. 29 June 2011: statmod 1.4.11 - updates to help page for sage.test 21 April 2011: statmod 1.4.10 - bug fix to glmnb.fit(). 9 March 2011: statmod 1.4.9 - bug fix to glmnb.fit(). - bug correction to sage.test() when library sizes are equal. The p-values returned change slightly. 3 November 2010: statmod 1.4.8 - new function glmnb.fit(), which implements Levenberg-modified Fisher scoring to fit a negative binomial generalized linear model with log-link. 28 May 2010: statmod 1.4.7 - permp() now has two new arguments 'method' and 'twosided'. The function now provides both exact and approximate methods for computing permutation p-values. 19 April 2010: statmod 1.4.6 - psi.hampel() and rho.hampel() renamed to .psi.hampel and .rho.hampel and removed from export function list. 16 April 2010: statmod 1.4.5 - new function mscale() which is the robust estimation of a scale parameter using Hampel's redescending psi function. - new function psi.hampel() which is the Hampel's redescending psi function. - new function rho.hampel() which is the integral of Hampel's redescending psi function. 30 March 2010: statmod 1.4.4 - remlscore() now returns a component iter giving the number of iterations used. 18 February 2010: statmod 1.4.3 - new function permp() which calculates exact p-values for permutation tests when permutations are sampled with replacement. 5 January 2010: statmod 1.4.2 - new argument 'dispersion' for glm.scoretest(), allowing the user to set a known value for the dispersion parameter. - ensure chisq values from limdil() remain positive, even when small. - correct the format of chisq value in print.limdil(). 29 Sep 2009: statmod 1.4.1 - fixes to documentation links to other packages - bug fix to glmgam.fit() when there are exact zeros in the data or fitted values. - add more goodness of fit tests to elda(). - improvements to print.limdil method. - argument log added to dinvgauss(), giving the option of returning the density on the log-scale. 6 May 2009: statmod 1.4.0 - new function glm.scoretest() to compute likelihood score tests for terms in generalized linear models. - Improvements to elda() and print.limdil() to avoid glm fits in extreme data situations with 0% or 100% positive response, improving speed and avoiding warnings. - Improvements to print.limdil method. - New function .limdil.allpos(). It calculates lower bound of the limdil confidence interval when all tests respond by using a globally convergent Newton interation. - Modify limdil() on lower bound of the confidence interval when all tests respond. - New methods print.limdil and plot.limdil for limdil objects. - The output from limdil() is now a limdil class object. - Added \eqn{} markup to equations in pinvgauss.Rd remlscor.Rd and remlscorgamma.Rd. - Elso et al (2004) reference added to compareGrowthCurves help page. 18 November 2008: statmod 1.3.8 - qres.nbinom now works in more situations. It now accepts a model fit from MASS::glm.nb or a model fit using MASS:negative.binomial() when the theta argument is unnamed. Previously the theta argument had to be named, as in negative.binomial(theta=2). 20 July 2008: statmod 1.3.7 - reference added to help page for compareGrowthCurves() - the saved output from the automatic tests updated for R 2.7.1 07 April 2008: statmod 1.3.6 - fixes to limdil() on estimate and upper bound of the confidence interval when all cells respond to all tests. - bug fix in limdil() which produced wrong calculation of the upper bound and lower bound of the confidence interval when there are more than one group and no cells responds or all cells respond to all tests in one of the groups. 24 March 2008: statmod 1.3.5 - The function remlscoregamma(), removed in 2004, restored to the package with updated references. 11 February 2008: statmod 1.3.4 - bug fix in limdil() which produced error when calculating the confidence intervals of multiple groups and all cells respond in one of the groups. 12 January 2008: statmod 1.3.3 - the limdil function now has the capability to handle and compare multiple experiments or groups. 24 September 2007: statmod 1.3.1 - non-ascii European characters removed from Rd files - Shackleton reference added to limdil.Rd - fixed some non-matched brackets in other Rd files 15 October 2006: statmod 1.3.0 - package now has a NAMESPACE which simply exports all objects - new function fitNBP() - new function plotGrowthCurves() 4 January 2006: statmod 1.2.4 - fixes to gauss.quad.prob when n=1 or n=2 12 December 2005: statmod 1.2.3 - remlscore() was failing when rank of X was only 1, now fixed. 20 October 2005: statmod 1.2.2 - mixedModel2Fit() now outputs REML residuals - randomizedBlock() & randomizedBlockFit() renamed to mixedModel2() & mixedModel2Fit() 4 July 2005: statmod 1.2.1 - remlscore() now outputs covariance matrices for estimated coefficients - redundant copy of randomizedBlockFit() removed 22 June 2005: statmod 1.2.0 - /inst/doc/index.html created - change log (this file) moved to /inst/doc directory of package - new function limdil() 14 June 2005: statmod 1.1.1 - change to rinvgauss() to avoid numerical problems with subtractive cancellation when lambda<