Learn R Programming

spatialEco (version 2.0-2)

collinear: Collinearity test

Description

Test for linear or nonlinear collinearity/correlation in data

Usage

collinear(x, p = 0.85, nonlinear = FALSE, p.value = 0.001)

Value

Messages and a vector of correlated variables

Arguments

x

A data.frame or matrix containing continuous data

p

The correlation cutoff (default is 0.85)

nonlinear

A boolean flag for calculating nonlinear correlations (FALSE/TRUE)

p.value

If nonlinear is TRUE, the p value to accept as the significance of the correlation

Author

Jeffrey S. Evans <jeffrey_evans<at>tnc.org>

Jeffrey S. Evans <jeffrey_evans@tnc.org>

Details

Evaluation of the pairwise linear correlated variables to remove is accomplished through calculating the mean correlations of each variable and selecting the variable with higher mean. If nonlinear = TRUE, pairwise nonlinear correlations are evaluated by fitting y as a semi-parametrically estimated function of x using a generalized additive model and testing whether or not that functional estimate is constant, which would indicate no relationship between y and x thus, avoiding potentially arbitrary decisions regarding the order in a polynomial regression.

Examples

Run this code
data(cor.data)

# Evaluate linear correlations on linear dataCollinearity between
head( dat <- cor.data[[4]] ) 
pairs(dat, pch=20)
  ( cor.vars <- collinear( dat ) )

# Remove identified variable(s)
head( dat[,-which(names(dat) %in% cor.vars)] )

# \donttest{
# Evaluate linear correlations on nonlinear data
#   using nonlinear correlation function
plot(cor.data[[1]], pch=20) 
  collinear(cor.data[[1]], p=0.80, nonlinear = TRUE ) 	
# }	       

Run the code above in your browser using DataLab