| hwefit {hwep} | R Documentation |
Equilibrium and random mating estimation and testing for many loci.
Description
Estimates and tests for either equilibrium or random mating across many loci
using hwelike(), hweustat(),
rmlike(), hwenodr(), or hweboot().
Usage
hwefit(
nmat,
type = c("ustat", "mle", "rm", "nodr", "boot"),
effdf = TRUE,
thresh = 3,
nboot = 2000,
verbose = TRUE
)
Arguments
nmat |
A matrix of counts. The rows index the loci and the columns
index the genotypes. So |
type |
The method to use:
|
effdf |
A logical. Should we use the effective degrees of freedom?
Only applicable if |
thresh |
A non-negative numeric. The threshold for aggregating
genotypes. Only applicable if |
nboot |
The number of bootstrap iterations to use if
|
verbose |
Should we print more ( |
Details
We provide parallelization support through the future package.
Value
A data frame. The columns of which can are described in
hwelike(), hweustat(),
rmlike(), or hwenodr().
Author(s)
David Gerard
Examples
## Generate random data
set.seed(5)
ploidy <- 4
nloc <- 100
size <- 1000
r <- 0.25
alpha <- 1/12
qvec <- hwefreq(r = r, alpha = alpha, ploidy = ploidy)
nmat <- t(rmultinom(n = nloc, size = size, prob = qvec))
## Run the analysis in parallel on the local computer with two workers
future::plan(future::multisession, workers = 2)
hout <- hwefit(nmat = nmat, type = "ustat")
## Shut down parallel workers
future::plan("sequential")
## Show that p-values are uniform
## QQ-plot on -log10 scale
qqpvalue(pvals = hout$p_hwe, method = "base")
## Kolmogorov-Smirnov Test
stats::ks.test(hout$p_hwe, "qunif")
## Can control for Type I error
mean(hout$p_hwe < 0.05)
## Consistent estimate for alpha
alpha
mean(hout$alpha1)