# intercorr_cat_nb: Calculate Intermediate MVN Correlation for Ordinal - Negative... In SimCorrMix: Simulation of Correlated Data with Multiple Variable Types Including Continuous and Count Mixture Distributions

## Description

This function calculates the `k_cat x k_nb` intermediate matrix of correlations for the `k_cat` ordinal (r >= 2 categories) and `k_nb` Negative Binomial variables required to produce the target correlations in `rho_cat_nb`. It extends the method of Amatya & Demirtas (2015, doi: 10.1080/00949655.2014.953534) to ordinal - Negative Binomial pairs and allows for regular or zero-inflated NB variables. Here, the intermediate correlation between Z1 and Z2 (where Z1 is the standard normal variable discretized to produce an ordinal variable Y1, and Z2 is the standard normal variable used to generate a Negative Binomial variable via the inverse CDF method) is calculated by dividing the target correlation by a correction factor. The correction factor is the product of the upper Frechet-Hoeffding bound on the correlation between a Negative Binomial variable and the normal variable used to generate it and a simulated GSC upper bound on the correlation between an ordinal variable and the normal variable used to generate it (see Demirtas & Hedeker, 2011, doi: 10.1198/tast.2011.10090). The function is used in `intercorr` and `corrvar`. This function would not ordinarily be called by the user.

## Usage

 ```1 2``` ```intercorr_cat_nb(rho_cat_nb = NULL, marginal = list(), size = NULL, mu = NULL, p_zinb = 0, nrand = 100000, seed = 1234) ```

## Arguments

 `rho_cat_nb` a `k_cat x k_nb` matrix of target correlations among ordinal and Negative Binomial variables; the NB variables should be ordered 1st regular, 2nd zero-inflated `marginal` a list of length equal to `k_cat`; the i-th element is a vector of the cumulative probabilities defining the marginal distribution of the i-th variable; if the variable can take r values, the vector will contain r - 1 probabilities (the r-th is assumed to be 1) `size` a vector of size parameters for the Negative Binomial variables (see `stats::dnbinom`); the order should be 1st regular NB variables, 2nd zero-inflated NB variables `mu` a vector of mean parameters for the NB variables (*Note: either `prob` or `mu` should be supplied for all Negative Binomial variables, not a mixture; default = NULL); order the same as in `size`; for zero-inflated NB this refers to the mean of the NB distribution (see `VGAM::dzinegbin`) `p_zinb` a vector of probabilities of structural zeros (not including zeros from the NB distribution) for the zero-inflated NB variables (see `VGAM::dzinegbin`); if `p_zinb` = 0, Y_{nb} has a regular NB distribution; if `p_zinb` is in `(-prob^size/(1 - prob^size),` `0)`, Y_{nb} has a zero-deflated NB distribution and `p_zinb` is not a probability; if `p_zinb = -prob^size/(1 - prob^size)`, Y_{nb} has a positive-NB distribution (see `VGAM::dposnegbin`); if `length(p_zinb) < length(size)`, the missing values are set to 0 (and ordered 1st) `nrand` the number of random numbers to generate in calculating the bound (default = 10000) `seed` the seed used in random number generation (default = 1234)

## Value

a `k_cat x k_nb` matrix whose rows represent the `k_cat` ordinal variables and columns represent the `k_nb` Negative Binomial variables

## References

Please see references for `intercorr_cat_pois`.

`intercorr`, `corrvar`