Andrzej T. Galecki, M.D., Ph.D.
    Research Professor, Division of Geriatrics/Institute of Gerontology, Medical School
    Research Scientist,  Department of Biostatistics, School of Public Health


NLMEM: A SAS/IML macro for nonlinear mixed effects models.
Requires SAS/STAT, SAS/IML and NLINMIX macro for SAS Version 8

To download NLMEM, please fill out this form first.

First Name
Last Name

CTIM: A set of SAS macros for categorical traits interval mapping.
Download SAS file here.

SAS2ARC: A SAS Macro to create an Arc data file from a SAS data set
Versions for Unix (shell archive) and Windows (zipped and unzipped) are available.



nlmeUpdK Download: linux(.tar.gz) | windows(.zip) | macosx(.tgz)
nlmeUpdK is a companion package to nlmeU and contains scripts and functions used in Galecki and Burzykowski (2013) book pertaining to a new pdMat class (Sections 17.6-17.8 and 20.2)

  1. How to install packages needed to run scripts from the book? Please use the following instructions

    • pckgs <- c("nlmeU", "plyr", "reshape", "RLRsim", "WWGbook", "ellipse")

    • To install lme4.0 package use:
      install.packages("lme4.0", repos = "")

  2. How to obtain list of scripts available in nlmeU package?

    • After installing nlmeU package please use:


      Note: The results of executing scripts are stored in files: Ch02.Rout, Ch03.Rout and so on.

  3. Results of running scripts listed by runScript() function (see item 2) are different from those included in the book. Why?

    We tested scripts from our book using R2.15.0 (2012-03-30) under Windows 7 on x86_64-pc-mingw32/x64 (64-bit) platform. Results matched those included in the book. We noted that results are slightly different for i386-pc-mingw32/i386 (32-bit) platform.

  4. Is pdKronecker class described in Chapter 17 and Section 20.2 available in nlmeU package?

    pdKronecker class is not available in nlmeU package. It is available in nlmeUpdk companion package and can be downloaded using:
    install.packages("nlmeUpdK", repos = "

  5. What should I do, if I find an error in one of the functions?

    We tested our functions under different scenarios, but we consider our package to be under development and inevitably errors may occur. Please report them to
    We are also interested in any of your comments on how to improve functions/and or scripts distributed with the package.