FPL Statistics Group

Raw General Linear Model Code and Sample Input and Output

We provide here a raw implementation of the ideas discussed in
Verrill (2001), "Rolling Your Own: Linear Model Hypothesis Testing
and Power Calculations via the Singular Value Decomposition,"
Statistical Computing and Graphics Newsletter, 12, No.
1, 15-18.
This paper is also available here in both
LaTeX
and
postscript
form.
Warning as of 1/31/05: Some of our users have had problems downloading
files via ftp from our site. If you click on one of the ftp links
above and the ftp fails, you have two options. You can ftp from a
DOS or UNIX command line (click here for
details) or you can e-mail Steve Verrill at
sverrill@fs.fed.us
and ask him to e-mail the file).

General linear model hypothesis testing on the Web

General linear model estimation on the Web

The source code

The main routine
is in the file glm.f. The necessary LINPACK routines are in a file
called linpack.f. These codes and sample input and output files
are available in
compressed tar, Windows 95 zip,
and Windows 98 and later zip form.
Alternatively, the codes and sample input and output files are
available individually:

The "91" files are used to work through the example associated with
Table 9.1 in Milliken and Johnson's Analysis of Messy Data,
1992, Chapman and Hall, London. The ".x." files contain design
matrices and data values. The ".runf." files contain the input that a user
needs to type in to run the glm program (the glm program can also be
run directly from these files). The ".res." files contain the results
produced by runs on the associated ".x." and ".runf." files. "means"
indicates what Milliken and Johnson call a "means"
parametrization of the model. "eff" indicates what Milliken and
Johnson call an "effects" or "classical"
parametrization of the model. "pow" indicates a power calculation
rather than an hypothesis test.

The glm program was created via the command line

f77 -g -o glm glm.f linpack.f dcdflib.a

where dcdflib.a is a static version of the DCDFLIB library of
distribution functions. A user would need to create a version of
dcdflib.a on their own machine for glm to work.