Learn R Programming

Taba (version 1.0.0)

taba.gpartial: Generalized Taba Partial and Taba Rank Partial Correlation

Description

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

Usage

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.

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.

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.

References

Tabatabai, M., Bailey, S., Bursac, Z. et al. An introduction to new robust linear and monotonic correlation coefficients. BMC Bioinformatics 22, 170 (2021). https://doi.org/10.1186/s12859-021-04098-4 https://doi.org/10.1186/s12859-021-04098-4

See Also

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

Examples

Run this code
# NOT RUN {
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")
# }

Run the code above in your browser using DataLab