Revisamos si tenemos todas la librerías necesarias con estos comandos en la consola:
library(performance)
library(skimr)
library(dplyr)
En caso de no tenerlos instalados, utilizamos estas líneas de código en la consola:
# install.packages("performance", dependencies=TRUE)
# install.packages("see", dependencies=TRUE)
# install.packages("skimr", dependencies=TRUE)
# install.packages("dplyr", dependencies=TRUE)
databmi = read.csv("https://egutierreza.netlify.app/uploads/databmi.csv")
names(databmi)
## [1] "bmi" "bmi.papa" "bmi.mama" "edad.papa" "edad.mama" "edad"
En estos datos, observaremos que BMI es el Indice de masa corporal (IMC). En el dataset tenemos datos sobre el IMC y edad de una persona además de los IMC y edades de sus padres.
Comenzamos realizando una exploración de cada variable.
library(skimr)
skim(databmi)
Name | databmi |
Number of rows | 311 |
Number of columns | 6 |
_______________________ | |
Column type frequency: | |
numeric | 6 |
________________________ | |
Group variables | None |
Variable type: numeric
skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
---|---|---|---|---|---|---|---|---|---|---|
bmi | 0 | 1 | 25.31 | 4.27 | 15.6 | 22.10 | 25.0 | 27.75 | 43.5 | ▃▇▅▁▁ |
bmi.papa | 0 | 1 | 26.47 | 4.24 | 16.7 | 23.35 | 26.0 | 29.40 | 40.6 | ▂▇▇▂▁ |
bmi.mama | 0 | 1 | 29.56 | 5.07 | 16.3 | 26.05 | 29.7 | 32.65 | 45.6 | ▁▆▇▂▁ |
edad.papa | 0 | 1 | 59.62 | 10.60 | 38.7 | 51.60 | 59.0 | 66.85 | 92.1 | ▅▇▇▃▁ |
edad.mama | 0 | 1 | 54.45 | 10.30 | 21.5 | 47.55 | 53.9 | 61.00 | 85.9 | ▁▃▇▃▁ |
edad | 0 | 1 | 27.42 | 8.11 | 18.0 | 21.10 | 25.5 | 31.05 | 56.6 | ▇▅▂▁▁ |
En específico, observamos la relación entre el IMC de una persona y su padre:
# Correlación entre dos variables
cor(databmi$bmi.papa,databmi$bmi)
## [1] 0.228298
plot(databmi$bmi.papa,
databmi$bmi,
xlab="Indice de masa corporal (padre)",
ylab="Indice de masa corporal (hijo)",
main="Diagrama de dispersión")
También, podemos obtener las correlaciones por pares de variables con el mismo comando cor. Utilizamos como argumento el dataset completo.
# Matrix de correlaciones
cor(databmi)
## bmi bmi.papa bmi.mama edad.papa edad.mama edad
## bmi 1.00000000 0.22829796 0.25430493 0.08375241 0.1533664 0.20557922
## bmi.papa 0.22829796 1.00000000 0.08127217 -0.35633830 -0.2374230 -0.23220622
## bmi.mama 0.25430493 0.08127217 1.00000000 -0.12954055 -0.1579986 -0.08774887
## edad.papa 0.08375241 -0.35633830 -0.12954055 1.00000000 0.7910062 0.68414693
## edad.mama 0.15336643 -0.23742304 -0.15799864 0.79100622 1.0000000 0.68763701
## edad 0.20557922 -0.23220622 -0.08774887 0.68414693 0.6876370 1.00000000
Obtenemos los gráficos de correlación entre todos los pares de variables con el comando pairs.
pairs(databmi)
Interpretación: