View source: R/popkin_A_min_subpops.R
| popkin_A_min_subpops | R Documentation |
A using subpopulationsThis function averages the values of a square matrix A between every subpopulation pair and returns the minimum of these averages.
If no subpopulation partition is provided, the function returns the minimum value of A excluding the diagonal, to agree when the code treats each individual as a subpopulation.
The return value can be used to adjust an A matrix to yield the kinship matrix.
popkin_A_min_subpops(A, subpops = NULL)
A |
A symmetric |
subpops |
A length- |
The minimum of the average between-subpopulation A values, which estimates the minimum expected value of A
popkin_A() to generate the A matrix usually inputted into this function (popkin_A_min_subpops).
popkin() is the wrapper function around both of these.
avg_kinship_subpops() for the full matrix of mean kinship values between subpopulations.
# Construct toy data X <- matrix(c(0,1,2,1,0,1,1,0,2), nrow=3, byrow=TRUE) # genotype matrix subpops <- c(1,1,2) # subpopulation assignments for individuals # NOTE: for BED-formatted input, use BEDMatrix! # "file" is path to BED file (excluding .bed extension) ## library(BEDMatrix) ## X <- BEDMatrix(file) # load genotype matrix object # calculate A from genotypes A <- popkin_A(X)$A # the recommended form using appropriate subpopulation labels A_min_est <- popkin_A_min_subpops( A, subpops ) # this recovers the popkin estimate kinship <- 1 - A / A_min_est stopifnot( kinship == popkin( X, subpops ) ) # a simple default for exploratory analysis, equals min( A ) for correctly-calculated A A_min_est <- popkin_A_min_subpops( A ) stopifnot( A_min_est == min( A ) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.