bdsmatrix (version 1.3-3)

bdsmatrix.ibd: Create a bdsmatrix from a list

Description

Routines that create identity-by-descent (ibd) coefficients often output their results as a list of values (i, j, x[i,j]), with unlisted values of the x matrix assumed to be zero. This routine recasts such a list into bdsmatrix form.

Usage

bdsmatrix.ibd(id1, id2, x, idmap, diagonal)

Arguments

id1

row identifier for the value, in the final matrix. Optionally, id1 can be a 3 column matrix or data.frame, in which case it is assumed to contain the first 3 arguments, in order.

id2

column identifier for the value, in the final matrix.

x

the value to place in the matrix

idmap

a two column matrix or data frame. Sometimes routines create output with integer values for id1 and id2, and then this argument is the mapping from this internal label to the ``real'' name)

diagonal

If diagonal elements are not preserved in the list, this value will be used for the diagonal of the result. If the argument appears, then the output matrix will contain an entry for each value in idlist. Otherwise only those with an explicit entry appear.

Value

a bdsmatrix object representing a block-diagonal sparse matrix.

Details

The routine first checks for non-symmetric or otherwise inconsistent input. It then groups observations together into `families' of related subjects, which determines the structure of the final matrix. As with the makekinship function, singletons with no relationships are first in the output matrix, and then families appear one by one.

See Also

bdsmatrix, kinship, coxme, lmekin

Examples

Run this code
# NOT RUN {
ibdmat <- bdsmatrix.ibd(i,j, ibdval, idlist=subject)
# }

Run the code above in your browser using DataLab