library(dplyr)
library(carData) # Libreria para base de datos
library(ltm) # Para la correlación entre una variable cuantitativa y otra dicotomica.
library(vcd) # Para la correlación entre dos variables dicotomicas o nominales
library(corrplot)
data(iris)
iris2= iris[iris$Species!="virginica",]
iris3<-iris2 %>% mutate(Species=as.factor(recode(Species,"setosa"=1,"versicolor"=0)))
biserial.cor(x = iris3$Sepal.Length,y=iris3$Species)
## [1] 0.7282901
data("TitanicSurvival")
Titanic<-na.omit(TitanicSurvival)
biserial.cor(x=Titanic$age,y=Titanic$survived)
## [1] 0.05551252
data("TitanicSurvival")
Titanic<-TitanicSurvival
str(Titanic)
## 'data.frame': 1309 obs. of 4 variables:
## $ survived : Factor w/ 2 levels "no","yes": 2 2 1 1 1 2 2 1 2 1 ...
## $ sex : Factor w/ 2 levels "female","male": 1 2 1 2 1 2 1 2 1 2 ...
## $ age : num 29 0.917 2 30 25 ...
## $ passengerClass: Factor w/ 3 levels "1st","2nd","3rd": 1 1 1 1 1 1 1 1 1 1 ...
Dicotomicas:
tab<-ftable(Titanic$survived,Titanic$sex)
tab
## female male
##
## no 127 682
## yes 339 161
assocstats(tab)
## X^2 df P(> X^2)
## Likelihood Ratio 372.92 1 0
## Pearson 365.89 1 0
##
## Phi-Coefficient : 0.529
## Contingency Coeff.: 0.467
## Cramer's V : 0.529
Multinomiales:
tab2<-ftable(Titanic$survived,Titanic$passengerClass)
tab2
## 1st 2nd 3rd
##
## no 123 158 528
## yes 200 119 181
assocstats(tab2)
## X^2 df P(> X^2)
## Likelihood Ratio 127.77 2 0
## Pearson 127.86 2 0
##
## Phi-Coefficient : NA
## Contingency Coeff.: 0.298
## Cramer's V : 0.313
data(iris)
corr<-cor(iris[,-5])
corr
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length 1.0000000 -0.1175698 0.8717538 0.8179411
## Sepal.Width -0.1175698 1.0000000 -0.4284401 -0.3661259
## Petal.Length 0.8717538 -0.4284401 1.0000000 0.9628654
## Petal.Width 0.8179411 -0.3661259 0.9628654 1.0000000
Se jugará con la función corrplot para explorar algunas representaciones que se pueden extraer.
A tener en cuenta:
col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF",
"#77AADD", "#4477AA"))
corrplot(corr) # Por defecto
corrplot(corr,tl.col = "black", # color de nombre de variables
method = "number",
bg = "deepskyblue",
col = "black", # color de números internos
cl.pos = "n")
corrplot(corr, method="shade",
tl.col = "black",# nombre de los ejes de color negro
tl.srt = 45, # rotación de 45 grados de las variables eje x
col = col(200),
addCoef.col = "black", # color de etiquetas de color negro
order = "AOE", # Agrupa las variables con más correlación negativa y positiva entre ellas
type = "upper", # Solo pinta la parte de arriba
diag = F, # Omite la diagonal de 1's
addshade = "all") # Añade lineas con direcciones: Hacia arriba para correlaciones positivas y hacia abajo para negativas
corrplot.mixed(corr,lower.col = "#BB4444",tl.col="black")