# taba.gpartial: Generalized Taba Partial and Taba Rank Partial Correlation In Taba: Taba Robust Correlations

## Description

Calculates a generalized partial correlation using one of the specified robust methods Taba linear or Taba rank correlation.

## Usage

 ```1 2 3 4``` ```taba.gpartial(x, y, xcov, ycov, regress.x, regress.y, method = c("taba","tabarank","tabwil","tabwilrank"), alternative = c("less", "greater", "two.sided"), omega) ```

## Arguments

 `x` A numeric vector of length greater than 2 must be same length as y and covariates listed in x and ycov `y` A numeric vector of length greater than 2 must be same length as x and covariates listed in y and xcov `xcov` A data frame, matrix, or numeric vectors combined columnwize used as covariates for x, which have length equal to x `ycov` A data frame, matrix, or numeric vectors combined columnwize used as covariates for y, which have length equal to y `regress.x` A string variable "`linear`" for linear regression, "`logistic`" for binary logistic regression, and "`poisson`" for Poisson regression `regress.y` A string variable "`linear`" for linear regression, "`logistic`" for binary logistic regression, and "`poisson`" for Poisson regression `method` A character string of `"taba"`, `"tabarank"`, `"tabwil"`, or `"tabwilrank"` determining if one wants to calculate Taba linear, Taba rank (monotonic), TabWil, or TabWil rank correlation, respectively. If no method is specified, the function will output Taba Linear correlation. `alternative` Character string specifying the alternative hypothesis must be one of `"less"` for negative association, `"greater"` for positive association, or `"two.sided"` for difference in association. If the alternative is not specified, the function will default to a two sided test. `omega` Numeric allowing the user to alter the tuning constant. If one is not specified, the function will default to 0.45 for Taba and Taba rank, and 0.1 for TabWil and TabWil rank. Range is between 0 and 1.

## Details

This function generalizes the partial correlation. In the event that the controlling variables for x and y are identical, it reduces to Taba, Taba rank, TabWil, and TabWil rank partial correlation. Covariates used to control for x should be represented columnwise in a matrix or data frame as `xcov`. Similarly, covariates used to control for y should be represented columnwise in a matrix or data frame as `ycov`. When controling an outcome variable with one covariate, a vector will suffice. Because x and y refer to the outcome varibales, names of covariates (or control variables) must not be named "x" or "y". The user has the option of using different regression methods when controling each outcome variable. Missing values in x, y, or any of the covariates are deleted row-wise. All categorical variables must be converted to type factor prior to using this function.
The default for this function is a two sided test using generalized partial Taba correlation using a linear regression to obtain residuals, with the tuning constant `omega` equal to 0.45.

## Value

This function returns the robust association between two numeric vectors, adjusting for specified covariates. In addition, this function can provide the semipartial correlation, if specified.

## References

The paper is under review for possible publication.

`taba` for calculating Taba linear or Taba rank (monotonic) correlations
`taba.test` for testing Taba linear or Taba rank Monotonic correlations
`taba.partial` for partial and semipartial correlations
`taba.matrix` for calculating correlation, p-value, and distance matricies
 ```1 2 3 4 5 6 7 8 9``` ```x = rnorm(100) y = rnorm(100) z1 = rnorm(100) z2 = rnorm(100) z3 = rnorm(100) w = sample(c(0,1), replace=TRUE, size=100) taba.gpartial(x, y, xcov = cbind(z1, z2), ycov = cbind(z1, z3), method = "tabarank") taba.gpartial(x, y, z2, ycov = cbind(z1, z2), alternative = "less") taba.gpartial(w, y, z1, cbind(z2,z3),regress.x = "logistic") ```