FAQs for the R packages distributed by Jing Hua Zhao

Packages kinship, lmm and pan were ported from S-PLUS packages by Beth Atkinson, Terry Therneau and Joseph L Schafer, while tdthap was based on a version of R package by David Clayton; you can always send your questions directly to these authors.

Date: Sat, 13 Nov 2004 08:13:58 -0600 (CST)
From: Terry Therneau <therneau@mayo.edu>
To: j.zhao@ucl.ac.uk
Subject: Re: kinship

We also ran into the problem of non-positive-definite matrices from SOLAR.
And it is true-- the IBD matrices that it produces are not postitive definite.
We had 2 solutions:

1. Realize that coxme will be happy as long as the overall variance matrix
for the random effects is positive-definite. This can be guarrantteed with
just a little bit on the diagonal:

> kmat <- makekinship( ) however it was created
> smat <- bdsmatrix.ibd(.... data from SOLAR
> imat <- bdsI(dimnames(kmat)[[1]], kmat$blocksize) #identity matrix

> coxme( ......., varlist=list(imat, kmat, smat), variance=c(.01,0,0) )

This adds .01 to the diagonal of the overall variance matrix, and keeps the
matrix positive definite.

2. Get our IBD matrices from simwalk, which produces correct ones.

Note that the error in SOLAR is small roundoff ones. As long as the
variance component of the kinship matrix is moderate, it overcomes this.
But if the program ever, sometime in searching for the solution, tried one
that had the variance for kmat approx 0 (less than the size of this round
off error, about .001), then the Cholesky decomp of the overall variance fails
and the program dies.

We found that adding a very little bit of diagonal worked, but didn't ever
get around to "proving" that it should, or how much you really need. In
linear models this problem doesn't occur, because the error variance adds
enough to the diagonal.

Terry Therneau

Date last changed 26/1/2014