Parcial Final de Introducción a R

De la siguiente base de datos

url <- "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv"

colnames <- c("Pregnancies", "Glucose", "BloodPressure", "SkinThickness", "Insulin",
              "BMI", "DiabetesPedigreeFunction", "Age", "Outcome")

diabetes <- read.csv(url, header = FALSE, col.names = colnames)

head(diabetes)
##   Pregnancies Glucose BloodPressure SkinThickness Insulin  BMI
## 1           6     148            72            35       0 33.6
## 2           1      85            66            29       0 26.6
## 3           8     183            64             0       0 23.3
## 4           1      89            66            23      94 28.1
## 5           0     137            40            35     168 43.1
## 6           5     116            74             0       0 25.6
##   DiabetesPedigreeFunction Age Outcome
## 1                    0.627  50       1
## 2                    0.351  31       0
## 3                    0.672  32       1
## 4                    0.167  21       0
## 5                    2.288  33       1
## 6                    0.201  30       0

La base de datos Pima Indians Diabetes contiene 9 variables predictoras relacionadas con medidas clínicas y personales, y 1 variable de salida (Outcome) que indica si una persona tiene diabetes.

Realizar:

Descripción de la data

summary(diabetes)
##   Pregnancies        Glucose      BloodPressure    SkinThickness  
##  Min.   : 0.000   Min.   :  0.0   Min.   :  0.00   Min.   : 0.00  
##  1st Qu.: 1.000   1st Qu.: 99.0   1st Qu.: 62.00   1st Qu.: 0.00  
##  Median : 3.000   Median :117.0   Median : 72.00   Median :23.00  
##  Mean   : 3.845   Mean   :120.9   Mean   : 69.11   Mean   :20.54  
##  3rd Qu.: 6.000   3rd Qu.:140.2   3rd Qu.: 80.00   3rd Qu.:32.00  
##  Max.   :17.000   Max.   :199.0   Max.   :122.00   Max.   :99.00  
##     Insulin           BMI        DiabetesPedigreeFunction      Age       
##  Min.   :  0.0   Min.   : 0.00   Min.   :0.0780           Min.   :21.00  
##  1st Qu.:  0.0   1st Qu.:27.30   1st Qu.:0.2437           1st Qu.:24.00  
##  Median : 30.5   Median :32.00   Median :0.3725           Median :29.00  
##  Mean   : 79.8   Mean   :31.99   Mean   :0.4719           Mean   :33.24  
##  3rd Qu.:127.2   3rd Qu.:36.60   3rd Qu.:0.6262           3rd Qu.:41.00  
##  Max.   :846.0   Max.   :67.10   Max.   :2.4200           Max.   :81.00  
##     Outcome     
##  Min.   :0.000  
##  1st Qu.:0.000  
##  Median :0.000  
##  Mean   :0.349  
##  3rd Qu.:1.000  
##  Max.   :1.000
colSums(is.na(diabetes))
##              Pregnancies                  Glucose            BloodPressure 
##                        0                        0                        0 
##            SkinThickness                  Insulin                      BMI 
##                        0                        0                        0 
## DiabetesPedigreeFunction                      Age                  Outcome 
##                        0                        0                        0
str(diabetes)
## 'data.frame':    768 obs. of  9 variables:
##  $ Pregnancies             : int  6 1 8 1 0 5 3 10 2 8 ...
##  $ Glucose                 : int  148 85 183 89 137 116 78 115 197 125 ...
##  $ BloodPressure           : int  72 66 64 66 40 74 50 0 70 96 ...
##  $ SkinThickness           : int  35 29 0 23 35 0 32 0 45 0 ...
##  $ Insulin                 : int  0 0 0 94 168 0 88 0 543 0 ...
##  $ BMI                     : num  33.6 26.6 23.3 28.1 43.1 25.6 31 35.3 30.5 0 ...
##  $ DiabetesPedigreeFunction: num  0.627 0.351 0.672 0.167 2.288 ...
##  $ Age                     : int  50 31 32 21 33 30 26 29 53 54 ...
##  $ Outcome                 : int  1 0 1 0 1 0 1 0 1 1 ...

Encontramos que tiene nueva variables con 768 observaciones cada una # Plantear hipótesis

H_0: No hay correlación entre el BMI y la presión arterial

H_a: Existe correlación positiva entre el BMI y la presión arterial

Validar normalidad de las variables (según la hipótesis)

shapiro.test(diabetes$BMI)
## 
##  Shapiro-Wilk normality test
## 
## data:  diabetes$BMI
## W = 0.94999, p-value = 1.842e-15
shapiro.test(diabetes$BloodPressure)
## 
##  Shapiro-Wilk normality test
## 
## data:  diabetes$BloodPressure
## W = 0.81892, p-value < 2.2e-16
plot( diabetes$BMI,
     col="green",main="Distribución de Normalidad de BMI",
     xlab="BMI")

plot( diabetes$BloodPressure,
     col="red",main="Distribución de Normalidad de la presión arterial",
     xlab="presión arterial")

pairs(diabetes$BMI~ diabetes$BloodPressure,
      col="blue")

# Función para probar normalidad y crear histogramas
test_normality <- function(variable, name) {
  shapiro_test <- shapiro.test(variable)
  hist(variable, main = paste("Distribución de", name), xlab = name)
  qqnorm(variable)
  qqline(variable)
  return(shapiro_test)
}

Según nuestros resultados vemos que ninguna de nuestras variables sigue una distribución de normalidad, por lo que se acepta la hipotesis alterna y se rechaza la nula

Realizar correlación

cor.test(diabetes$BMI, diabetes$BloodPressure,  method = "spearman",exact = FALSE)
## 
##  Spearman's rank correlation rho
## 
## data:  diabetes$BMI and diabetes$BloodPressure
## S = 53386404, p-value < 2.2e-16
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.2928704
#o

cor.test(diabetes$BMI, diabetes$BloodPressure, method = "kendall")
## 
##  Kendall's rank correlation tau
## 
## data:  diabetes$BMI and diabetes$BloodPressure
## z = 8.317, p-value < 2.2e-16
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
##       tau 
## 0.2052225

En ambos casos tanto en spearman como kendall vemos que BMI Y BloodPresure si tienen una correlación positiva y segun nuestro P-value como es menor en ambos casos rechazamos la H_o y aceptamos la H_a.

Aplicar prueba estadística que corresponda según las variables

Utilizamos el metodo parametrico de Regresión de Theil-sen

library(mblm)
y<-diabetes$BloodPressure
x<-diabetes$BMI
ts_model = mblm(x~y)

summary(ts_model)
## 
## Call:
## mblm(formula = x ~ y)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -34.983  -3.783   0.917   5.517  31.717 
## 
## Coefficients:
##             Estimate     MAD V value Pr(>|V|)    
## (Intercept)  20.5825 15.8156  265645   <2e-16 ***
## y             0.1500  0.2173  242793   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.672 on 766 degrees of freedom

Con está prueba no parámetrica podemos observar que rechazamos de igual manera mi hipotesis nula y aceptamos la alterna, lo que nos dice que si existe una correlación positiva entre ambas variables.