Allow users to obtain basketball statistics for 
    the Australian basketball league 'NBL'<https://nbl.com.au/>. 
    Stats include play-by-play, shooting locations, results and 
    box scores for teams and players.

Model-based clustering of high-dimensional non-negative
             data that follow Generalized Negative Binomial distribution. All functions 
             in this package applies to either continuous or integer data. Correlation
            between variables are allowed, while samples are assumed to be independent.

Run simple direct gravitational N-body simulations. The package can access different external N-body simulators (e.g. GADGET-4 by Springel et al. (2021) <doi:10.48550/arXiv.2010.03567>), but also has a simple built-in simulator. This default simulator uses a variable block time step and lets the user choose between a range of integrators, including 4th and 6th order integrators for high-accuracy simulations. Basic top-hat smoothing is available as an option. The code also allows the definition of background particles that are fixed or in uniform motion, not subject to acceleration by other particles.

Conduct inference on the sample average treatment effect for a 
    matched (observational) dataset with a continuous treatment. Equipped with
    calipered non-bipartite matching, bias-corrected sample average treatment
    effect estimation, and covariate-adjusted variance estimation. Matching, 
    estimation, and inference methods are described in 
    Frazier, Heng and Zhou (2024) <doi:10.48550/arXiv.2409.11701>.

Perform non-bipartite matching and matched randomization. A
    "bipartite" matching utilizes two separate groups, e.g. smokers being
    matched to nonsmokers or cases being matched to controls. A "non-bipartite"
    matching creates mates from one big group, e.g. 100 hospitals being
    randomized for a two-arm cluster randomized trial or 5000 children who
    have been exposed to various levels of secondhand smoke and are being
    paired to form a greater exposure vs. lesser exposure comparison. At the
    core of a non-bipartite matching is a N x N distance matrix for N potential
    mates. The distance between two units expresses a measure of similarity or
    quality as mates (the lower the better). The 'gendistance()' and
    'distancematrix()' functions assist in creating this. The 'nonbimatch()'
    function creates the matching that minimizes the total sum of distances
    between mates; hence, it is referred to as an "optimal" matching. The
    'assign.grp()' function aids in performing a matched randomization. Note
    bipartite matching can be performed using the prevent option in
    'gendistance()'.