encuesta faltantes completamente al azar (MCAR):Los valores perdidos son independientes de los encuesta, como en una muestra aleatoria donde la ausencia de encuesta sigue un patrón MCAR. Esto rara vez ocurre debido a la igual probabilidad de selección, minimizando la frecuencia de este fenómeno.
encuesta faltantes al azar (MAR):La probabilidad de ser un dato faltante es uniforme dentro de grupos definidos por encuesta observados, como en muestras poblacionales donde la inclusión depende de propiedades conocidas. Este tipo de encuesta faltantes es común y ampliamente utilizado.
encuesta faltantes no aleatorios: La probabilidad de ser un dato faltante se atribuye a razones desconocidas, especialmente evidente en casos de opinión pública, donde aquellos con argumentos débiles tienden a responder con menor frecuencia, generando espacios en blanco o dejando respuestas vacías.
Paquetes que vamos a usar:
#install.packages("tidyverse")
#install.packages("dlookr")
#install.packages("visdat")
#install.packages("plotly")
#install.packages("missRanger")
#install.packages("naniar")
#install.packages("mice")
#install.packages("BaylorEdPsych")library(readxl)
base <- read_xlsx("C:\\Users\\Gutie\\Desktop\\Base\\Empresa.xlsx")
base_copia <- base
head(base)Para ello activamos las librerias correspondientes
library(tidyverse)
library(dlookr)
library(visdat)
library(missRanger)
library(plotly)
library(naniar)
library(mice)Para la visualización de NA’s usaremos el grafico de pareto, el cual nos permite visualizar el porcentaje de valores perdidos en cada variable
Tambien podemos emplear graficos de barras con la función
“gg_miss_upset()” y “n_var_miss” del paquete “naniar” el cual nos
mostrara la grafica de toda las variables que tienen NA’S asi como sus
combinaciones
Otra forma de hacerlo es con la función “gg_miss_var()”, podemo
visualizar cuantos valores perdidos hay en cada variable como tambien su
porcentaje aplicando dentro de la función, la siguiente orden
“show_pct=T”
Si tan solo queremos visualizar las combinaciones de NA entre variables
usaremos la función “plot_na_intersect()”
imputet_ML <- missRanger(
base_copia,
formula = . ~ . ,
num.trees = 1000,
verbose = 2,
seed = 111,
returnOOB = T)##
## Missing value imputation by random forests
##
## Variables to impute: LC, PA, EP, ECP, ELP, CI, EAF, A, AF, FP, RC, RAF, CCP, PCP, IGADV, ICF, RNA, MB, MO, RNV, ROP, RF
## Variables used to impute: AÑO, LC, PA, EA, EP, ECP, ELP, CI, EAF, A, AF, FP, EPC, EPNC, ACYLP, RC, RAF, RV, CCP, PCP, IGADV, ICF, RNA, MB, MO, RNV, ROP, RF, UO_TA, ROE, ROA
##
## EP ECP ELP LC PA FP ROP EAF AF A RC CCP IGADV RNA MB MO RNV RF RAF CI ICF PCP
## iter 1: 0.7045 0.5114 0.1207 0.9136 0.7381 0.8910 1.0164 0.9891 1.1244 0.7251 1.1863 1.0461 1.0557 0.8907 0.8850 1.0330 1.0271 0.3677 0.9556 1.0920 0.9422 0.9140
## iter 2: 0.7160 0.1369 0.1385 0.7090 0.6803 0.8553 0.9906 0.8114 1.1125 0.7283 0.6528 1.0144 1.0062 0.8503 0.7115 0.9981 1.0440 0.3406 0.8957 0.9489 0.5573 0.8931
## iter 3: 0.7230 0.1539 0.1548 0.6928 0.6712 0.8532 0.9898 0.8088 1.1102 0.7364 0.6510 1.0117 1.0255 0.8386 0.7211 1.0014 1.0339 0.3346 0.8716 0.9615 0.5619 0.9105
options(scipen = 999)
# install.packages("dplyr")
# install.packages("ggplot2")
# install.packages("readr")
# install.packages("gmodels")
# install.packages("Hmisc")
# install.packages("ggthemes")
library(dplyr)
library(ggplot2)
library(readr)
library(gmodels)
library(Hmisc)
library(ggthemes)library(readr)
encuesta <- read.csv( "C:\\Users\\Gutie\\Desktop\\Base\\encuesta.csv")
encuesta <- tbl_df(encuesta)Procedemos a crear un nuevo conjunto de encuesta
library(dplyr)
encuesta=select(encuesta, "area.x", "vi02", "vi141", "p02", "p03", "p06",
"nnivins", "p10b", "condact", "ingrl")
# Limitando los valores de ingreso
encuesta=subset(encuesta, ingrl >= 2 & ingrl<= 5000)Recodificando las variables
#Recodificando
encuesta$area.x <- ifelse(encuesta$area.x == 1, "urbano", ifelse(encuesta$area.x == 2, "rural", encuesta$area.x))
encuesta$p02 <- ifelse(encuesta$p02 == 1, "Hombre", ifelse(encuesta$p02 == 2, "Mujer", encuesta$p02))Transformando en factores a las variables
## Rows: 11,831
## Columns: 10
## $ area.x <chr> "urbano", "urbano", "urbano", "urbano", "urbano", "urbano", "u…
## $ vi02 <int> 1, 3, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 2,…
## $ vi141 <int> 100, 100, 200, 120, 350, 600, 300, 300, 150, 300, 350, 400, 15…
## $ p02 <chr> "Hombre", "Mujer", "Hombre", "Mujer", "Mujer", "Mujer", "Hombr…
## $ p03 <int> 30, 38, 55, 30, 39, 72, 29, 51, 24, 55, 24, 42, 56, 23, 37, 63…
## $ p06 <int> 5, 5, 1, 6, 6, 6, 6, 3, 6, 1, 6, 2, 1, 6, 6, 6, 6, 1, 6, 1, 6,…
## $ nnivins <int> 4, 5, 3, 3, 3, 3, 5, 3, 4, 3, 4, 3, 5, 5, 4, 5, 5, 4, 5, 5, 4,…
## $ p10b <int> 6, 2, 1, 3, 6, 4, 7, 2, 3, 6, 3, 6, 5, 2, 6, 5, 4, 6, 5, 1, 6,…
## $ condact <int> 1, 1, 1, 4, 4, 4, 1, 4, 4, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 1,…
## $ ingrl <int> 1006, 1011, 460, 210, 322, 8, 1544, 100, 200, 450, 454, 38, 16…
Se puede trabajar con frecuencias
##
## rural urbano
## 953 2753
Y podemos ver que 953 personas viven en Zona Rural y 2753 en Urbana.
Por ejemplo la frecuencia de Tipo de vivienda según Zona:
##
## rural urbano
## 1 681 1457
## 2 70 1088
## 3 17 72
## 4 26 84
## 5 156 52
## 6 3 0
##
## rural urbano
## 1 0.1837560712 0.3931462493
## 2 0.0188882893 0.2935779817
## 3 0.0045871560 0.0194279547
## 4 0.0070156503 0.0226659471
## 5 0.0420939018 0.0140313006
## 6 0.0008094981 0.0000000000
En este caso nos muestra los datos como proporciones totales, pero ¿cómo hacemos si queremos ver porcentajes por fila o columna?.
Esto lo hacemos poniendo una coma y luego 1 (filas) o 2 (columnas).
##
## rural urbano
## 1 0.31852198 0.68147802
## 2 0.06044905 0.93955095
## 3 0.19101124 0.80898876
## 4 0.23636364 0.76363636
## 5 0.75000000 0.25000000
## 6 1.00000000 0.00000000
##
## rural urbano
## 1 0.714585519 0.529240828
## 2 0.073452256 0.395205231
## 3 0.017838405 0.026153287
## 4 0.027282267 0.030512169
## 5 0.163693599 0.018888485
## 6 0.003147954 0.000000000
Un comando muy útil para simplificar los pasos es el comando CrossTable() del paquete gmodels(). El comando nos permite presentar en una misma tabla los porcentajes por fila o columna y el total de la tabla.
##
##
## Cell Contents
## |-------------------------|
## | N |
## | Chi-square contribution |
## | N / Row Total |
## | N / Col Total |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 3706
##
##
## | encuesta$area.x
## encuesta$vi02 | rural | urbano | Row Total |
## --------------|-----------|-----------|-----------|
## 1 | 681 | 1457 | 2138 |
## | 31.315 | 10.840 | |
## | 0.319 | 0.681 | 0.577 |
## | 0.715 | 0.529 | |
## | 0.184 | 0.393 | |
## --------------|-----------|-----------|-----------|
## 2 | 70 | 1088 | 1158 |
## | 174.235 | 60.315 | |
## | 0.060 | 0.940 | 0.312 |
## | 0.073 | 0.395 | |
## | 0.019 | 0.294 | |
## --------------|-----------|-----------|-----------|
## 3 | 17 | 72 | 89 |
## | 1.514 | 0.524 | |
## | 0.191 | 0.809 | 0.024 |
## | 0.018 | 0.026 | |
## | 0.005 | 0.019 | |
## --------------|-----------|-----------|-----------|
## 4 | 26 | 84 | 110 |
## | 0.185 | 0.064 | |
## | 0.236 | 0.764 | 0.030 |
## | 0.027 | 0.031 | |
## | 0.007 | 0.023 | |
## --------------|-----------|-----------|-----------|
## 5 | 156 | 52 | 208 |
## | 196.474 | 68.013 | |
## | 0.750 | 0.250 | 0.056 |
## | 0.164 | 0.019 | |
## | 0.042 | 0.014 | |
## --------------|-----------|-----------|-----------|
## 6 | 3 | 0 | 3 |
## | 6.438 | 2.229 | |
## | 1.000 | 0.000 | 0.001 |
## | 0.003 | 0.000 | |
## | 0.001 | 0.000 | |
## --------------|-----------|-----------|-----------|
## Column Total | 953 | 2753 | 3706 |
## | 0.257 | 0.743 | |
## --------------|-----------|-----------|-----------|
##
##
En este caso, el cuadro de arriba, nos dice qué es lo que se muestra en la tabla: N (número de observaciones), Chi-square (estadístico, no interesa por ahora), N/Row total (porcentaje por fila), N/Col Total (porcentaje por columna), N/Table Total (porcentaje total).
Tambien podemos simplificar la tabla para que nos muestre menos resultados, cambiando las opciones:
Entonces por ejemplo si solo queremos el porcentaje por fila y columna, la tabla sería:
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Row Total |
## | N / Col Total |
## |-------------------------|
##
##
## Total Observations in Table: 3706
##
##
## | encuesta$area.x
## encuesta$vi02 | rural | urbano | Row Total |
## --------------|-----------|-----------|-----------|
## 1 | 681 | 1457 | 2138 |
## | 0.319 | 0.681 | 0.577 |
## | 0.715 | 0.529 | |
## --------------|-----------|-----------|-----------|
## 2 | 70 | 1088 | 1158 |
## | 0.060 | 0.940 | 0.312 |
## | 0.073 | 0.395 | |
## --------------|-----------|-----------|-----------|
## 3 | 17 | 72 | 89 |
## | 0.191 | 0.809 | 0.024 |
## | 0.018 | 0.026 | |
## --------------|-----------|-----------|-----------|
## 4 | 26 | 84 | 110 |
## | 0.236 | 0.764 | 0.030 |
## | 0.027 | 0.031 | |
## --------------|-----------|-----------|-----------|
## 5 | 156 | 52 | 208 |
## | 0.750 | 0.250 | 0.056 |
## | 0.164 | 0.019 | |
## --------------|-----------|-----------|-----------|
## 6 | 3 | 0 | 3 |
## | 1.000 | 0.000 | 0.001 |
## | 0.003 | 0.000 | |
## --------------|-----------|-----------|-----------|
## Column Total | 953 | 2753 | 3706 |
## | 0.257 | 0.743 | |
## --------------|-----------|-----------|-----------|
##
##
Además podemos poner únicamente una variable y nos muestra de una vez las proporciones. Por ejemplo:
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 3706
##
##
## | rural | urbano |
## |-----------|-----------|
## | 953 | 2753 |
## | 0.257 | 0.743 |
## |-----------|-----------|
##
##
##
##
Para calcular los estadísticos de las variables numéricas tenemos varias opciones.
Podemos usar el comando summary(). Este comando nos da los principales estadísticos descriptivos (mínimo, máximo, cuartiles, promedio). Este comando podemos aplicarlo a todo el dataframe (nos da los estadísticos de todas las variables a la vez) o solo a una variable. En este caso, vamos a usarlo para toda la base.
## area.x vi02 vi141 p02 p03
## rural : 953 Min. :1.000 Min. : 10.0 Hombre:6957 Min. :12.00
## urbano:2753 1st Qu.:1.000 1st Qu.: 100.0 Mujer :4874 1st Qu.:31.00
## NA's :8125 Median :1.000 Median : 150.0 Median :42.00
## Mean :1.678 Mean : 432.7 Mean :43.03
## 3rd Qu.:2.000 3rd Qu.: 200.0 3rd Qu.:54.00
## Max. :6.000 Max. :999999.0 Max. :92.00
## NA's :8125 NA's :8125
## p06 nnivins p10b condact
## Min. :1.000 Min. :1.000 Min. : 1.000 Min. :0.000
## 1st Qu.:1.000 1st Qu.:3.000 1st Qu.: 3.000 1st Qu.:1.000
## Median :4.000 Median :4.000 Median : 5.000 Median :2.000
## Mean :3.552 Mean :3.905 Mean : 4.576 Mean :2.164
## 3rd Qu.:6.000 3rd Qu.:5.000 3rd Qu.: 6.000 3rd Qu.:4.000
## Max. :6.000 Max. :5.000 Max. :10.000 Max. :4.000
## NA's :261
## ingrl
## Min. : 2.0
## 1st Qu.: 200.0
## Median : 450.0
## Mean : 522.6
## 3rd Qu.: 640.0
## Max. :5000.0
##
NOTA: Si queremos calcular los estadísticos para una sola variable ponemos el nombre de la base de datos seguido del signo de de dólar. Por ejemplo: summary(encuesta “$” ingreso).
Además podemos hacer uso de funciones para calcular individualmente los estadísticos descriptivos: mean(), median(), min(), max(), IQR() (rango intercuartílico), sd() (desviación estándar).
Un comando muy útil es describe() del paquete Hmisc, ya que nos muestra un panorama más completo de las variables. En el caso de las numéricas nos muestra los estadísticos descriptivos, la cantidad de observaciones, los valores perdidos. Para las variables categóricas, muestra la frecuencia, las proporciones y los valores perdidos.
## encuesta
##
## 10 Variables 11831 Observations
## --------------------------------------------------------------------------------
## area.x
## n missing distinct
## 3706 8125 2
##
## Value rural urbano
## Frequency 953 2753
## Proportion 0.257 0.743
## --------------------------------------------------------------------------------
## vi02
## n missing distinct Info Mean Gmd
## 3706 8125 6 0.777 1.678 0.9524
##
## Value 1 2 3 4 5 6
## Frequency 2138 1158 89 110 208 3
## Proportion 0.577 0.312 0.024 0.030 0.056 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## vi141
## n missing distinct Info Mean Gmd .05 .10
## 3706 8125 69 0.989 432.7 651.4 50 60
## .25 .50 .75 .90 .95
## 100 150 200 300 350
##
## lowest : 10 20 30 35 40, highest: 1500 1600 1800 2000 999999
## --------------------------------------------------------------------------------
## p02
## n missing distinct
## 11831 0 2
##
## Value Hombre Mujer
## Frequency 6957 4874
## Proportion 0.588 0.412
## --------------------------------------------------------------------------------
## p03
## n missing distinct Info Mean Gmd .05 .10
## 11831 0 81 1 43.03 16.85 21 24
## .25 .50 .75 .90 .95
## 31 42 54 63 68
##
## lowest : 12 13 14 15 16, highest: 88 89 90 91 92
## --------------------------------------------------------------------------------
## p06
## n missing distinct Info Mean Gmd
## 11831 0 6 0.927 3.552 2.347
##
## Value 1 2 3 4 5 6
## Frequency 4039 914 624 412 2411 3431
## Proportion 0.341 0.077 0.053 0.035 0.204 0.290
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## nnivins
## n missing distinct Info Mean Gmd
## 11831 0 5 0.895 3.905 0.9654
##
## Value 1 2 3 4 5
## Frequency 261 17 3869 4121 3563
## Proportion 0.022 0.001 0.327 0.348 0.301
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## p10b
## n missing distinct Info Mean Gmd .05 .10
## 11570 261 10 0.906 4.576 1.845 2 2
## .25 .50 .75 .90 .95
## 3 5 6 6 6
##
## Value 1 2 3 4 5 6 7 8 9 10
## Frequency 520 1163 2137 845 1650 5046 61 40 42 66
## Proportion 0.045 0.101 0.185 0.073 0.143 0.436 0.005 0.003 0.004 0.006
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## condact
## n missing distinct Info Mean Gmd
## 11831 0 5 0.85 2.164 1.377
##
## Value 0 1 2 3 4
## Frequency 9 5717 2141 258 3706
## Proportion 0.001 0.483 0.181 0.022 0.313
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## ingrl
## n missing distinct Info Mean Gmd .05 .10
## 11831 0 1307 1 522.6 462.5 50 96
## .25 .50 .75 .90 .95
## 200 450 640 1020 1379
##
## lowest : 2 3 4 5 6, highest: 4739 4850 4900 4930 5000
## --------------------------------------------------------------------------------
Group by es uno de los comandos más útiles que tiene el paquete dplyr. Como su nombre lo dice nos permite agrupar variables y hacer cálculos entre los grupos, por ejemplo calcular nuevas variables o estadísticos para los grupos.
Por ejemplo, como vimos anteriormente con la función mean() podemos calcular el ingreso promedio de toda la variable. Pero ¿Qué pasa si queremos crear una nueva variable cuyo valor sea el ingreso promedio de la Región de la planificación?. En este caso podemos hacer uso de group_by.
También podemos agrupar por más de una variable, lo único que debemos hacer es separar las variables por coma. Por ejemplo si queremos agrupar por zona y sexo, el comando sería: group_by(encuesta, ZONA, sexo).
Finalmente otro de los comandos más comunes de dplyr es summarise(). Este como su nombre lo indica nos ayuda a resumir valores. Este comando funciona muy bien combinado con group_by(). Por ejemplo si queremos calcular el ingreso y la edad promedio por region.
Note que si queremos calcular más de un estadístico, lo único que debemos hacer es separarlos por comas, al igual que con la función mutate.
Algunas funciones comunes que podemos calcular con summarise:
sd(): desviación estandar mean(): promedio n(): esta función no requiere ningún argumento y calcula la cantidad de observaciones. sum(): suma del valor de la variable. min() y max(): valor mínimo y máximo.
encuesta %>%
group_by(area.x) %>%
summarise(ingresoprom=mean(ingrl),
edadprom=mean(p03), sd_ing=sd(ingrl))¿Cuando se aplican las pruebas parametricas?
prueba <- readxl::read_xls("C:\\Users\\Gutie\\Downloads\\Prueba.xls")
## Supuestos de Normalidad: Shaphiro Wilcks y Kolmogorov
#install.packages("nortest")
library(nortest)
# Shaphiro Wilcks cuando n<50
shapiro.test(prueba$LINCOMEP)##
## Shapiro-Wilk normality test
##
## data: prueba$LINCOMEP
## W = 0.87042, p-value = 0.0000000000000002481
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: prueba$LINCOMEP
## D = 0.15119, p-value < 0.00000000000000022
# H0: los datos no son normales p<0.05
# H1: los datos son normales p>0.05
#Prueba QQ
qqnorm(prueba$LINCOMEP)
qqline(prueba$LINCOMEP)## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
## The following object is masked from 'package:purrr':
##
## some
##
## F test to compare two variances
##
## data: prueba$LINCOMEP and prueba$Ctry_Code
## F = 0.014918, num df = 341, denom df = 341, p-value <
## 0.00000000000000022
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.01206014 0.01845191
## sample estimates:
## ratio of variances
## 0.01491753
##
## Bartlett test of homogeneity of variances
##
## data: prueba$LINCOMEP by prueba$Ctry_Code
## Bartlett's K-squared = 80.389, df = 17, p-value = 0.0000000003271
¿Qué pruebas son las más usadas en la estadistica párametrica?
library(dplyr)
austria <- prueba %>%
filter(COUNTRY == "AUSTRIA")
austria_1 <- austria$LINCOMEP
belgium <- prueba %>%
filter(COUNTRY == "BELGIUM")
belgium1 <- belgium$LINCOMEP
# Prueba U de Mann-Whitney
wilcox.test(austria_1, belgium1)##
## Wilcoxon rank sum exact test
##
## data: austria_1 and belgium1
## W = 77, p-value = 0.001991
## alternative hypothesis: true location shift is not equal to 0
¿Qué es? Una correlación mide la relación lineal entre dos variables. Por ejemplo la relación entre el la experiencia laboral y el salario.
Esta se mide con un coeficiente que va de -1 a 1.
Primero vamos a instalar y cargar los siguientes paquetes:
Cómo calcular una correlación entre dos variables? Podemos hacerlo con el comando cor(), donde tenemos que enlistar, separadas por coma, las variables que queremos correlacionar.
## [1] 0.946957
Esto nos muestra que el coeficiente de correlación es igual a 0.95. Sin embargo, debemos saber si esta relación es estadísticamente significativa, para lo que requerimos el p-value. Este lo obtenemos con el comando cor.test().
##
## Pearson's product-moment correlation
##
## data: imputet_ML$ROA and imputet_ML$RNA
## t = 24.477, df = 69, p-value < 0.00000000000000022
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9160307 0.9666910
## sample estimates:
## cor
## 0.946957
Esto nos da como resultado un p-value de 0.000, por lo que rechazamos la hipótesis nula de que la correlación es igual a cero, a un nivel de significancia del 1%.
También podemos calcular de una sola vez la correlación entre varias variables, con una matriz de correlación. Para ello usamos el mismo comando cor(), pero ponemos como argumento de la función la base de datos:
## AÑO LC PA EA EP ECP ELP CI EAF A AF FP
## AÑO 1.00 0.30 0.30 -0.04 0.20 0.24 -0.23 -0.17 0.09 0.19 0.02 0.17
## LC 0.30 1.00 1.00 -0.47 -0.10 0.30 -0.29 -0.51 0.28 -0.10 0.05 -0.04
## PA 0.30 1.00 1.00 -0.46 -0.10 0.29 -0.29 -0.52 0.26 -0.10 0.05 -0.04
## EA -0.04 -0.47 -0.46 1.00 0.41 -0.28 0.28 0.01 -0.27 0.41 -0.24 0.29
## EP 0.20 -0.10 -0.10 0.41 1.00 -0.12 0.12 0.06 -0.12 1.00 -0.04 0.96
## ECP 0.24 0.30 0.29 -0.28 -0.12 1.00 -1.00 -0.03 0.22 -0.12 0.09 -0.15
## ELP -0.23 -0.29 -0.29 0.28 0.12 -1.00 1.00 0.03 -0.22 0.12 -0.09 0.15
## CI -0.17 -0.51 -0.52 0.01 0.06 -0.03 0.03 1.00 -0.03 0.06 0.02 0.04
## EAF 0.09 0.28 0.26 -0.27 -0.12 0.22 -0.22 -0.03 1.00 -0.12 0.06 -0.06
## A 0.19 -0.10 -0.10 0.41 1.00 -0.12 0.12 0.06 -0.12 1.00 -0.03 0.96
## AF 0.02 0.05 0.05 -0.24 -0.04 0.09 -0.09 0.02 0.06 -0.03 1.00 -0.02
## FP 0.17 -0.04 -0.04 0.29 0.96 -0.15 0.15 0.04 -0.06 0.96 -0.02 1.00
## EPC 0.25 -0.12 -0.12 0.51 0.95 -0.06 0.06 0.05 -0.15 0.95 0.02 0.86
## EPNC 0.16 -0.07 -0.06 0.28 0.98 -0.14 0.14 0.06 -0.08 0.98 0.02 0.98
## ACYLP 0.20 -0.10 -0.09 0.40 1.00 -0.11 0.11 0.06 -0.11 1.00 0.02 0.96
## RC -0.09 -0.15 -0.15 -0.13 -0.08 -0.10 0.10 0.09 -0.12 -0.08 0.05 -0.07
## RAF 0.01 -0.07 -0.07 0.12 -0.02 0.00 0.00 0.02 0.77 -0.02 0.03 -0.03
## RV -0.03 -0.26 -0.25 0.24 -0.02 -0.10 0.10 0.24 0.15 -0.02 0.04 -0.08
## CCP 0.26 0.83 0.85 -0.28 -0.07 0.25 -0.25 -0.73 0.14 -0.07 0.03 -0.03
## PCP 0.13 0.22 0.21 -0.09 -0.05 0.30 -0.30 -0.19 0.12 -0.06 0.05 -0.02
## IGADV 0.24 0.82 0.84 -0.26 -0.07 0.23 -0.23 -0.73 0.12 -0.07 0.03 -0.04
## ICF -0.09 -0.07 -0.07 0.16 -0.08 -0.37 0.37 -0.14 -0.11 -0.08 -0.44 0.00
## RNA 0.01 0.05 0.06 -0.06 -0.01 -0.21 0.21 0.06 0.05 0.01 0.05 -0.01
## MB 0.05 0.05 0.06 -0.01 0.05 -0.26 0.26 0.05 0.02 0.06 0.09 0.02
## MO -0.25 -0.81 -0.83 0.27 0.08 -0.26 0.26 0.73 -0.14 0.08 -0.03 0.05
## RNV 0.24 0.81 0.83 -0.25 -0.07 0.22 -0.22 -0.73 0.11 -0.07 0.03 -0.04
## ROP 0.15 -0.07 -0.07 0.28 0.97 -0.15 0.15 0.07 -0.08 0.97 0.03 0.97
## RF -0.09 0.05 0.05 -0.28 -0.06 -0.22 0.22 0.06 0.08 -0.05 0.42 0.02
## UO_TA -0.10 -0.22 -0.22 0.12 0.04 -0.23 0.23 0.19 -0.08 0.06 0.06 0.02
## ROE -0.04 0.11 0.11 -0.36 -0.09 -0.16 0.16 0.01 0.15 -0.07 0.43 0.02
## ROA 0.09 0.10 0.10 -0.11 -0.02 -0.16 0.16 0.05 0.09 -0.01 0.06 -0.01
## EPC EPNC ACYLP RC RAF RV CCP PCP IGADV ICF RNA MB
## AÑO 0.25 0.16 0.20 -0.09 0.01 -0.03 0.26 0.13 0.24 -0.09 0.01 0.05
## LC -0.12 -0.07 -0.10 -0.15 -0.07 -0.26 0.83 0.22 0.82 -0.07 0.05 0.05
## PA -0.12 -0.06 -0.09 -0.15 -0.07 -0.25 0.85 0.21 0.84 -0.07 0.06 0.06
## EA 0.51 0.28 0.40 -0.13 0.12 0.24 -0.28 -0.09 -0.26 0.16 -0.06 -0.01
## EP 0.95 0.98 1.00 -0.08 -0.02 -0.02 -0.07 -0.05 -0.07 -0.08 -0.01 0.05
## ECP -0.06 -0.14 -0.11 -0.10 0.00 -0.10 0.25 0.30 0.23 -0.37 -0.21 -0.26
## ELP 0.06 0.14 0.11 0.10 0.00 0.10 -0.25 -0.30 -0.23 0.37 0.21 0.26
## CI 0.05 0.06 0.06 0.09 0.02 0.24 -0.73 -0.19 -0.73 -0.14 0.06 0.05
## EAF -0.15 -0.08 -0.11 -0.12 0.77 0.15 0.14 0.12 0.12 -0.11 0.05 0.02
## A 0.95 0.98 1.00 -0.08 -0.02 -0.02 -0.07 -0.06 -0.07 -0.08 0.01 0.06
## AF 0.02 0.02 0.02 0.05 0.03 0.04 0.03 0.05 0.03 -0.44 0.05 0.09
## FP 0.86 0.98 0.96 -0.07 -0.03 -0.08 -0.03 -0.02 -0.04 0.00 -0.01 0.02
## EPC 1.00 0.88 0.96 -0.10 -0.02 -0.03 -0.08 -0.06 -0.09 -0.13 0.00 0.07
## EPNC 0.88 1.00 0.98 -0.06 -0.01 -0.03 -0.04 -0.05 -0.05 -0.08 0.02 0.06
## ACYLP 0.96 0.98 1.00 -0.08 -0.02 -0.03 -0.06 -0.05 -0.07 -0.10 0.01 0.07
## RC -0.10 -0.06 -0.08 1.00 -0.05 0.05 -0.13 0.01 -0.11 -0.16 -0.09 -0.02
## RAF -0.02 -0.01 -0.02 -0.05 1.00 0.45 -0.07 -0.07 -0.06 -0.11 0.13 0.09
## RV -0.03 -0.03 -0.03 0.05 0.45 1.00 -0.29 -0.28 -0.26 -0.20 0.19 0.08
## CCP -0.08 -0.04 -0.06 -0.13 -0.07 -0.29 1.00 0.26 1.00 -0.01 0.04 -0.01
## PCP -0.06 -0.05 -0.05 0.01 -0.07 -0.28 0.26 1.00 0.26 -0.07 -0.88 -0.79
## IGADV -0.09 -0.05 -0.07 -0.11 -0.06 -0.26 1.00 0.26 1.00 -0.02 0.03 -0.01
## ICF -0.13 -0.08 -0.10 -0.16 -0.11 -0.20 -0.01 -0.07 -0.02 1.00 0.02 -0.01
## RNA 0.00 0.02 0.01 -0.09 0.13 0.19 0.04 -0.88 0.03 0.02 1.00 0.86
## MB 0.07 0.06 0.07 -0.02 0.09 0.08 -0.01 -0.79 -0.01 -0.01 0.86 1.00
## MO 0.10 0.06 0.08 0.12 0.07 0.29 -1.00 -0.33 -0.99 0.01 0.03 0.08
## RNV -0.08 -0.04 -0.06 -0.11 -0.07 -0.25 1.00 0.23 1.00 -0.01 0.06 0.01
## ROP 0.86 0.99 0.97 -0.05 -0.01 0.00 -0.05 -0.10 -0.06 -0.09 0.06 0.11
## RF -0.12 0.05 -0.02 0.03 0.11 0.11 0.00 -0.56 0.01 -0.12 0.68 0.62
## UO_TA 0.06 0.05 0.06 0.05 0.08 0.42 -0.18 -0.74 -0.19 -0.05 0.69 0.63
## ROE -0.15 0.04 -0.05 -0.01 0.09 0.02 0.08 -0.48 0.07 -0.10 0.65 0.57
## ROA -0.02 0.00 -0.01 -0.10 0.10 0.12 0.08 -0.79 0.07 0.03 0.95 0.80
## MO RNV ROP RF UO_TA ROE ROA
## AÑO -0.25 0.24 0.15 -0.09 -0.10 -0.04 0.09
## LC -0.81 0.81 -0.07 0.05 -0.22 0.11 0.10
## PA -0.83 0.83 -0.07 0.05 -0.22 0.11 0.10
## EA 0.27 -0.25 0.28 -0.28 0.12 -0.36 -0.11
## EP 0.08 -0.07 0.97 -0.06 0.04 -0.09 -0.02
## ECP -0.26 0.22 -0.15 -0.22 -0.23 -0.16 -0.16
## ELP 0.26 -0.22 0.15 0.22 0.23 0.16 0.16
## CI 0.73 -0.73 0.07 0.06 0.19 0.01 0.05
## EAF -0.14 0.11 -0.08 0.08 -0.08 0.15 0.09
## A 0.08 -0.07 0.97 -0.05 0.06 -0.07 -0.01
## AF -0.03 0.03 0.03 0.42 0.06 0.43 0.06
## FP 0.05 -0.04 0.97 0.02 0.02 0.02 -0.01
## EPC 0.10 -0.08 0.86 -0.12 0.06 -0.15 -0.02
## EPNC 0.06 -0.04 0.99 0.05 0.05 0.04 0.00
## ACYLP 0.08 -0.06 0.97 -0.02 0.06 -0.05 -0.01
## RC 0.12 -0.11 -0.05 0.03 0.05 -0.01 -0.10
## RAF 0.07 -0.07 -0.01 0.11 0.08 0.09 0.10
## RV 0.29 -0.25 0.00 0.11 0.42 0.02 0.12
## CCP -1.00 1.00 -0.05 0.00 -0.18 0.08 0.08
## PCP -0.33 0.23 -0.10 -0.56 -0.74 -0.48 -0.79
## IGADV -0.99 1.00 -0.06 0.01 -0.19 0.07 0.07
## ICF 0.01 -0.01 -0.09 -0.12 -0.05 -0.10 0.03
## RNA 0.03 0.06 0.06 0.68 0.69 0.65 0.95
## MB 0.08 0.01 0.11 0.62 0.63 0.57 0.80
## MO 1.00 -0.99 0.07 0.04 0.24 -0.04 -0.02
## RNV -0.99 1.00 -0.05 0.02 -0.15 0.09 0.10
## ROP 0.07 -0.05 1.00 0.08 0.11 0.06 0.05
## RF 0.04 0.02 0.08 1.00 0.47 0.97 0.66
## UO_TA 0.24 -0.15 0.11 0.47 1.00 0.41 0.66
## ROE -0.04 0.09 0.06 0.97 0.41 1.00 0.67
## ROA -0.02 0.10 0.05 0.66 0.66 0.67 1.00
Este comando nos da la misma matriz de correlación que obtuvimos arriba, y abajo nos da el p-value. En todos algunos casos el p-value es muy bajo (=0), lo cual quiere decir que esos casos son estadísticamente significativo.
odemos graficar con el comando corrplot. Ver más en este enlace:
Lo primero es calcular la matriz de correlación y guardarla en un objeto y luego graficarlo. En este caso vamos a graficar los coeficientes.
También podemos hacer gráficos de dispersión, calcular los coeficientes de una sola vez y ver si son estadísticamente significativos, con un solo comando:
En ese gráfico podemos observar gráficamente que hay una relación entre el porcentaje de ROA y RNA y que el coeficiente es de 0.95 ultima columna y vigecima tercer fila y es estadístcamente significativo (esto se representa con los tres puntos rojos).