| .prManual | R Documentation |
Performs a recursive hierarchical clustering on an opposing-homozygotes (OH)
matrix using Ward clustering and splits clusters until the maximum within-
cluster OH value is below a user-supplied threshold (maxsnpnooh).
.prManual(oh, maxsnpnooh)
oh |
A numeric matrix representing opposing-homozygotes (OH) counts between individuals. Row and column names should be individual IDs. The matrix is expected to be square and symmetric. |
maxsnpnooh |
Numeric scalar giving the maximum allowed within-group OH value. Groups with a larger maximum OH value (and size > 2) are split recursively. |
The function returns a two-column data frame with individual IDs and a group
code. Group codes are generated randomly (via rnorm()) and therefore
are not stable across runs.
The recursion proceeds as follows:
Compute a pairwise distance object from oh using .fastdist
and convert it to a dist object.
Apply hierarchical clustering using hclust with
method = "ward.D".
Cut the dendrogram into two groups using cutree.
For each group, compute the maximum within-group OH value; if it
exceeds maxsnpnooh and the group has more than two individuals,
recurse into that subgroup. Otherwise, write group assignments and stop.
A data.frame with columns:
Individual ID (character).
An integer-like group code (generated randomly; not reproducible).
This function writes to and reads from a file named "temp.txt" in the
current working directory, and then deletes it. It also prints
maxsnpnooh to the console.
hclust, cutree,
as.dist
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.