glmmADMB

The glmmADMB package, built on the open-source AD Model Builder platform, is an R package for fitting generalized linear mixed models (GLMMs).

Its capabilities include:

  • a wide range of families (response distributions), including non-exponential families such as negative binomial (type 1 and 2), Beta, logistic, and truncated Poisson and negative binomial distributions as well as the standard exponential families (binomial, Poisson, Gamma, Gaussian).
  • a wide range of link functions: log, logit, probit, complementary log-log, identity, inverse.
  • Zero-inflation (currently only as a single constant term across all groups)
  • Single or multiple random effects, including both nested and crossed effects
  • Markov chain Monte Carlo (MCMC) summaries of uncertainty </ul>

    In order to use glmmADMB effectively you should already be reasonably familiar with GLMMs, which in turn requires familiarity with (i) generalized linear models (e.g. the special cases of logistic, binomial, and Poisson regression) and (ii) 'modern' mixed models (those working via maximization of the marginal likelihood rather than by manipulating sums of squares).

    Please visit the following webpages for more information about the glmmADMB package (please note the latter is somewhat out of date, although it may still contain useful information):

    • R-Forge (current development)
    • ADMB Project (recent homepage) </ul>

      Installation

      Your best bet is
      install.packages("R2admb")
      install.packages("glmmADMB", 
          repos=c("http://glmmadmb.r-forge.r-project.org/repos",
                  getOption("repos")),
          type="source")
      

      If you have trouble with the binary provided with your version of glmmADMB, here are the instructions for replacing it with a newer/different version:
      1. look at the output of glmmADMB:::get_bin_loc() to determine where R will look for the compiled code for glmmADMB.
      2. Go to the Buildbot page and retrieve a binary that is compatible with your OS. In general, the file name format is something like glmmadmb-r[version]-[OS]-[compiler]-[nbit]bit.(bin|exe), although the file names do change from time to time. In general you want to look for the highest numbered version compatible with your system (go to the bottom of the list and scroll up, except that the Windows versions are named differently and ended up at the top of the list). For example, as of today (7 Oct 2015) I would choose from among the following:
        glmmadmb-mingw64-r2928-windows8-mingw32.exe
        glmmadmb-mingw64-r2928-windows8-mingw64.exe
        glmmadmb-r2924-macos10-xcode7-32bit.bin
        glmmadmb-r2924-macos10-xcode7-64bit.bin
        glmmadmb-r2928-ubuntu14-64bit.bin
        glmmadmb-r2928-fedora22-gcc5.1-32bit.bin
        glmmadmb-r2928-fedora22-gcc5.1-64bit.bin
        
        (it looks like you may be stuck if you want to run on 32-bit Ubuntu). Once you've found the binary you want, copy it to the location you determined in step #1 (you might want to make a backup of the old version).
      3. Try your code again and see if that helped.
      4. If you can't find an appropriate binary on the system, you may have to buildthe glmmadmb binary from its TPL (system.file("tpl","glmmadmb.tpl",package="glmmADMB")) on your system (or find someone with a compatible system who can do it for you) and copy it to the appropriate location.

      The binaries included in the glmmADMB will not run on MacOS 10.5 (Leopard) or earlier, and may have trouble with very old versions of Linux as well. If you encounter this problem, your choices are:
      • Upgrade your system to a more recent version of MacOS (if possible).
      • Build glmmadmb from its TPL file on your machine. This will be a bit tricky if you are not reasonably experienced.
        • Download the full AD Model Builder source code from the AD Model Builder download page and follow the directions for building AD Model Builder from source; you may need to install Xcode, and you may need to ask for help at users@admb-project.org. (Googling "admb macos 10.5" will be helpful as well, although it's possible that you will need the most recent version of the ADMB source code to compile glmmadmb.tpl properly ...)
        • find the glmmadmb.tpl file in the glmmADMB package directories and use ADMB to compile it to a binary
        • copy the resulting binary to the bin/macos32 or bin/macos64 directory as appropriate. </ul>
        • Contact the maintainers to appeal for help and find out if there any new developments in support for MacOS versions less than 10.6.
        • A similar process may work for other unsupported operating systems such as Solaris, but in that case it's also probably a good idea to contact the maintainers. </ul> </ol>

          Additional documentation

          • Current (fairly minimal) documentation/example for ADMB in HTML and PDF format. This is also accessible from within R (once glmmADMB is installed) via vignette("glmmADMB",package="glmmADMB").
          • The GLMM FAQ page gives general advice about GLMMs, although its content is slightly more oriented toward the lme4 package.
          • We recommend the R mixed models list at r-sig-mixed-models@r-project.org for glmmADMB questions, although if you feel that your question is more AD Model Builder-oriented than R-oriented you may also want to try the AD Model Builder user's list. </ul>

            Newer versions

            Newer versions of glmmADMB (>0.6.4) have the following major changes:

            • new formula format, similar to that of the lme4 package, where random and fixed effects are specified as part of a single formula (random can also be specified separately, as in lme).
            • multiple grouping variables (random effects) are allowed.
            • wider range of distributions and link functions supported (e.g. binomial with N> 1). </ul>

              The new release is somewhat slower (for the time being) than older (pre-0.5.2) versions: if you have a desperate need for a copy of an old version, you can download a source version and follow alternative #3 from the installation instructions above.