as.matrix.linkdat: linkdat to matrix conversion

View source: R/as.matrix.linkdat.R

as.matrix.linkdatR Documentation

linkdat to matrix conversion

Description

Converts a linkdat object to a matrix (basically following a pre-makeped LINKAGE format), with marker annotations and other info attached as attributes.

Usage

## S3 method for class 'linkdat'
as.matrix(x, include.attrs = TRUE, ...)

restore_linkdat(x, attrs = NULL, checkped = TRUE)

Arguments

x

a linkdat object. In restore_linkdat: A numerical matrix in LINKAGE format.

include.attrs

a logical indicating if marker annotations and other info should be attached as attributes. See value.

...

not used.

attrs

a list containing marker annotations and other linkdat info compatible with x, in the format produced by as.matrix. If NULL, the attributes of x itself are used.

checkped

a logical, forwarded to linkdat. If FALSE, no checks for pedigree errors are performed.

Details

restore_linkdat is the reverse of as.matrix.

The way linkdat objects are created in paramlink, marker data are stored as a list of marker objects. Each of these is essentially a matrix with various attributes like allele frequencies, map info a.s.o.. This format works well for marker-by-marker operations (e.g. likelihoods and LOD scores), but makes it somewhat awkward to operate 'horizontally', i.e. individual-by-individual, for instance if one wants to delete all genotypes of a certain individual, or rearrange the pedigree in some way.

It is therefore recommended to convert the linkdat object to a matrix first, do the necessary manipulations on the matrix, and finally use restore_linkdat. Attributes are often deleted during matrix manipulation, so it may be necessary to store them in a variable and feed them manually to restore_linkdat using the attrs argument.

With default parameters, restore_linkdat(as.matrix(x)) should reproduce x exactly.

Value

For as.matrix: A matrix with x$nInd rows and 6 + 2*x$nMark columns. The 6 first columns describe the pedigree in LINKAGE format, and the remaining columns contain marker alleles, using the internal (numerical) allele coding and 0 for missing alleles. If include.attrs = TRUE the matrix has the following attributes:

  • markerattr (a list of marker annotations)

  • available (the availability vector)

  • model (the disease model, if present)

  • plot.labels (plot labels, if present)

  • orig.ids (original individual IDs)

For restore_linkdat: A linkdat object.

See Also

linkdat, as.data.frame.linkdat

Examples


x = linkdat(toyped, model=1)
y = restore_linkdat(as.matrix(x))
stopifnot(all.equal(x,y))

# If attributes are lost during matrix manipulation: Use the 'attrs' argument.
xmatr = as.matrix(x)
newmatr = xmatr[-4, ] # NB: attributes are lost here
z = restore_linkdat(newmatr, attrs = attributes(xmatr))

# Should be the same as:
z2 = removeIndividuals(x, 4)
stopifnot(all.equal(z, z2))


paramlink documentation built on April 15, 2022, 9:06 a.m.