Dear all, As the maintener of package aod, I thank you for bringing my attention on this problem. I will try to alter the code in aod. However, I am not sure to be able to do it right now.
Best regards, Renaud 2008/8/20 Martin Maechler <[EMAIL PROTECTED]> > >>>>> <[EMAIL PROTECTED]> > >>>>> on Wed, 20 Aug 2008 03:03:29 +0100 writes: > > > Dear all, > > I found a problem with 'lme4'. Basically, once you load the package > 'aod' (Analysis of Overdispersed Data), the functions 'lmer' and 'glmer' > don't work anymore: > > > library(lme4) > > (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) > > (gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | > herd), > > family = binomial, data = cbpp)) > > install.packages("aod") > > library(aod) > > (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) > > (gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | > herd), > > family = binomial, data = cbpp)) > > > Taking into account that this package is used to perform > > similar analyses, this could be a problem. > > It is a problem, and it *is* a bug; > thank you for reporting it, Antonio. > > Since lme4 uses a NAMESPACE, it could and probably should make > sure to protect itself from incompatible function redefinitions > such as the one the 'aod' package "provides" : > > Arguably, the bug is really in package 'aod' rather than 'lme4': > 'aod' redefines the AIC() method for 'logLik' objects in a not quite > backward-compatible way: > > The standard method (S3 alas, in package 'stats') is > > > stats:::AIC.logLik > function (object, ..., k = 2) > -2 * c(object) + k * attr(object, "df") > <environment: namespace:stats> > > The redefinition from package 'aod' is > > > selectMethod(AIC, "logLik") > Method Definition: > > function (object, ..., k = 2) > { > npar <- attr(object, "df") > nobs <- attr(object, "nobs") > c(AIC = -2 * c(object) + k * npar, AICc = -2 * c(object) + > k * npar + 2 * npar * (npar + 1)/(nobs - npar - 1)) > } > <environment: 0x1cd22b80> > > Signatures: > object > target "logLik" > defined "logLik" > > which returns a (named) numeric vector of length 2, > and the code in lme4 was expecting length 1. > > As a matter of fact, I even like the idea to extend AIC() to > also compute newer versions of AIC; but probably 'aod' should > have done so in a different way {maybe with an additional > 'kind' argument to the method}. > > Martin > > > All the best > > > Antonio Gasparrini > > Public and Environmental Health Research Unit (PEHRU) > > London School of Hygiene & Tropical Medicine > > Keppel Street, London WC1E 7HT, UK > > Office: 0044 (0)20 79272406 - Mobile: 0044 (0)79 64925523 > > http://www.lshtm.ac.uk/people/gasparrini.antonio ( > http://www.lshtm.ac.uk/pehru/ ) > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > -- Renaud LANCELOT Département Systèmes Biologiques du CIRAD CIRAD, Biological Systems Department Campus International de Baillarguet TA 30 / B F34398 Montpellier Tel +33 (0)4 67 59 37 17 Secr. +33 (0)4 67 59 37 37 Fax +33 (0)4 67 59 37 95 [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.