Correlaciones en R
Puedes utilizar la función cor( ) para producir correlaciones y la función cov( ) para producir covarianzas.
Un formato simplificado es cor(x, use=, method= ) donde
Opción | Descripción |
x | Matriz o marco de datos |
utiliza | Especifica el tratamiento de los datos que faltan. Las opciones son todas .obs (supone que no faltan datos - los datos que faltan producirán un error), completas.obs (eliminación por listas) y por pares.completas.obs (eliminación por pares). |
método | Especifica el tipo de correlación. Las opciones son Pearson, Spearman o Kendall. |
# Correlations/covariances among numeric variables in
# data frame mtcars. Use listwise deletion of missing data.
cor(mtcars, use="complete.obs", method="kendall")
cov(mtcars, use="complete.obs")
Por desgracia, ni cor ( ) ni cov( ) producen pruebas de significación, aunque puedes utilizar la función cor.test( ) para probar un único coeficiente de correlación.
La función rcorr( ) del paquete Hmisc produce correlaciones/covarianzas y niveles de significación para las correlaciones de Pearson y Spearman. Sin embargo, la entrada debe ser una matriz y se utiliza la eliminación por pares.
# Correlations with significance levels
library(Hmisc)
rcorr(x, type="pearson") # type can be pearson or spearman
#mtcars is a data frame
rcorr(as.matrix(mtcars))
Puedes utilizar el formato cor(X, Y) o rcorr(X, Y) para generar correlaciones entre las columnas de X y las columnas de Y. Esto es similar a los comandos VAR y WITH de SAS PROC CORR.
# Correlation matrix from mtcars
# with mpg, cyl, and disp as rows
# and hp, drat, and wt as columns
x <- mtcars[1:3]
y <- mtcars[4:6]
cor(x, y)
Otros tipos de correlaciones
# polychoric correlation
# x is a contingency table of counts
library(polycor)
polychor(x)
# heterogeneous correlations in one matrix
# pearson (numeric-numeric),
# polyserial (numeric-ordinal),
# and polychoric (ordinal-ordinal)
# x is a data frame with ordered factors
# and numeric variables
library(polycor)
hetcor(x)
# partial correlations
library(ggm)
data(mydata)
pcor(c("a", "b", "x", "y", "z"), var(mydata))
# partial corr between a and b controlling for x, y, z
Visualizar Correlaciones
Utiliza corrgram( )para trazar correlogramas .
Utiliza pares()o splom( )para crear matrices de dispersión.
Practicar
Prueba este curso interactivo sobre Aprendizaje Supervisado en R: Regresión