MASS:::dropterm.glm() and MASS:::addterm.glm() should use ... for extractAIC()
Here is a change required from MASS:::dropterm.glm() and
The stepAIC() function from package MASS uses extractAIC() to get the
AIC from a model.
Several methods exist:
extractAIC.glm() for example, some in MASS packages and some in stats
The parameters for extractAIC() are:
fit, scale, k = 2, ...
The ... are not used in most of the extractAIC.xxx() methods, from
example in stats:::extractAIC.glm() or MASS:::extractAIC.loglm() but its
presence could be necessary if extractAIC() is changed to use for
example to use AICc rather than AIC.
Within stepAIC(), extractAIC() uses always the ... parameter. So all is
ok for that.
However, stepAIC() uses dropterm() or addterm().
Within MASS:::dropterm.glm() and MASS:::addterm.glm(), extractAIC() is
also used but without the ... parameter.
It prevents to use new version of extractAIC() that could use this
The solution is simple:
In MASS:::dropterm.glm(), line 60 and MASS:::addterm.glm(), line 84:
aic <- aic + (extractAIC(object, k = k)[2L] - aic[1L])
must be changed to
aic <- aic + (extractAIC(object, k = k, ...)[2L] - aic[1L])
Other dropterm.xxx() and addterm.xxx() do not suffer this problem.