Fits weighted quantile sum regression models, calculates weighted quantile sum index and estimated component weights.

Implements a permutation test method for the weighted quantile sum (WQS) regression, building off the 'gWQS' package (Renzetti et al. (2021) <https://CRAN.R-project.org/package=gWQS>). Weighted quantile sum regression is a statistical technique to evaluate the effect of complex exposure mixtures on an outcome (Carrico et al. (2015) <doi:10.1007/s13253-014-0180-3>). The model features a statistical power and Type I error (i.e., false positive) rate trade-off, as there is a machine learning step to determine the weights that optimize the linear model fit. This package provides an alternative method based on a permutation test that should reliably allow for both high power and low false positive rate when utilizing WQS regression (Day et al. (2022) <doi:10.1289/EHP10570>).

Assess Water Quality Trends for Long-Term Monitoring Data in Estuaries using
  Generalized Additive Models following Wood (2017) <doi:10.1201/9781315370279> and Error
  Propagation with Mixed-Effects Meta-Analysis following Sera et al. (2019) <doi:10.1002/sim.8362>.
  Methods are available for model fitting, assessment of fit, annual and seasonal trend tests, and
  visualization of results.

Implements various win ratio methodologies for composite endpoints of death and 
  non-fatal events, including the (stratified) proportional win-fractions (PW) regression models 
  (Mao and Wang, 2020 <doi:10.1111/biom.13382>), (stratified) two-sample tests with possibly 
  recurrent nonfatal event, and sample size calculation for standard win ratio test (Mao et al., 
  2021 <doi:10.1111/biom.13501>).

Supports systematic scrutiny, modification, and integration of
    data. The function status() counts rows that have missing values in 
    grouping columns (returned by na() ), have non-unique combinations of 
    grouping columns (returned by dup() ), and that are not locally sorted
    (returned by unsorted() ). Functions enumerate() and itemize() give 
    sorted unique combinations of columns, with or without occurrence counts,
    respectively. Function ignore() drops columns in x that are present in y,
    and informative() drops columns in x that are entirely NA; constant() returns
    values that are constant, given a key.  Data that have defined unique 
    combinations of grouping values behave more predictably during merge operations.