Re: difficulty with predict statement

From: <arthur.gilmour_at_DPI.NSW.GOV.AU>
Date: Mon, 21 Jan 2008 11:47:47 +1100

Dear Jim,

I've had the week off hence delayed response.

It is sometimes tricky to get predictions with nested structures

We have an experiment with 26 populations of corn, each with 200 lines,
plus two more populations with 212 and 281 lines. We have data from three
We are having serious problems getting the predict statement to give us
predictions for all of the lines that we have data on and excluding lines
we do not have data on.
We have effects coded as loc for location, pop for population, and
entry_num for the line code within each population (which runs 1 ? 200 or
to 281).

** I gather there are something like 5700 genotypes coded
population 1:28
line=entry 1:281 within population.

and these are all (with only a few missing values) grown at each of 3

We can fit a very simple model like:
Trait ~ mu !r loc pop loc.pop entry_num.pop,

** I would fit the 'loc' main effect as fixed but that is incidental.
Given that most terms are random, we should be able to predict the whole
table entry_num.pop
predict entry_num.pop

unless the predict table is too big: then try either increasing the
or predicting in parts

predict entry pop 1:7
   in one run, then

predict entry pop 8:114

Now such a prediction will predict missin g entries at the population
average since the BLUP for entry.pop will be zero in those cases.\

Now, adding !PRESENT pop entry
should restrict the values reported to those combinations that are
actually present.

And then try to predict as such:
predict entry_num pop !present entry_num pop
The prediction list excludes far too many lines (some 1000 of the ~5400 we
have data on). Weirder still, it includes a few predictions on lines that
are not in the data set (entry_num > 200 for some of the pops). We have
fit much more complicated models to account for the GxE structure and
within-environment spatial variation, and of course the problem is there
as well.
We have tried different permutations of the predict statement, e.g.:
predict pop entry_num !present pop entry_num
Still, we have the same problem.
We have run a tabulate statement with !count and verified that we have
very little missing data relative to how many predictions are missing,
although we do not have the problem for all traits. The missing data
structure varies across traits, but is not much worse for the trait we
have the problem with than the others.

** So, it appears you are doing everything correctly.
Now, I recall there was a bug with the use of !PRESENT in ASReml 2 but I
can't recall exactly when it was fixed.
Nevertheless, if you have an older build (say before bb), your problem
might be fixed by getting the latest version.

So options are;
Does PREDICT pop 1 entry !present pop entry
do it correctly; its a bit tedious but 28 runs will give the answers.
Try the latest version
3) Do prediction without !present clause and identify those without data
   (probably obvious which are predicted at pop mean and which have an
interaction componentent added.

4) Send me the example to debug.

Our annual family update is at

May Jesus Christ be gracious to you in 2008,

Arthur Gilmour, His servant .
Mixed model regression mapping for QTL detection in experimental crosses.
Computational Statistics and Data Analysis 51:3749-3764 at

Personal website:,
Principal Research Scientist (Biometrics)
NSW Department of Primary Industries
Orange Agricultural Institute, Forest Rd, ORANGE, 2800, AUSTRALIA
fax: 02 6391 3899; 02 6391 3922 Australia +61
telephone work: 02 6391 3815; home: 02 6364 3288; mobile: 0438 251 426

ASREML 2 is now available from
The ASReml discussion group is at
To join it,
Archives are at

Proposed travel:
Leave 14-20 Jan
UK 28 Jan
USA 11-15 Feb
Turkey 8-14 Apr
Argentina 16-19 September Biometrics 
Received on Thu Jan 21 2008 - 11:47:47 EST

This webpage is part of the ASReml-l discussion list archives 2004-2010. More information on ASReml can be found at the VSN website. This discussion list is now deprecated - please use the VSN forum for discussion on ASReml. (These online archives were generated using the hypermail package.)