Cargar los datos

# Para transformar la base de datos

library(readr)
## Warning: package 'readr' was built under R version 4.2.3
#file.choose()
diabetes2 <- read.csv("G:\\cuantitativos\\diabetes2.txt", sep=";")
View(diabetes2)
# diabetes2

Introducción

Las enfermedades crónicas constituyen un problema de salud en las sociedades contemporáneas. Según Nobel en 1991, citado por Avellaneda y otros,1,2 el aumento sostenido de la incidencia y prevalencia de las enfermedades crónicas a nivel mundial desde el pasado siglo, especialmente en países con altos indicadores de salud y desarrollo, su carácter complejo y multifactorial, su impacto sobre poblaciones vulnerables y el hecho de que producen una limitación importante en la calidad de vida y el estado funcional de las personas que las padecen, las ha convertido en un verdadero reto desde lo económico, lo político, lo social y lo personal.

La Diabetes Mellitus es una enfermedad crónica donde el paciente experimenta dificultades para metabolizar carbohidratos, proteínas y grasas y que se debe a la insuficiente secreción o resistencia de insulina. La diabetes es una enfermedad en la que el cuerpo no produce o no utiliza correctamente la insulina (Taylor, 2007). La causa de la diabetes continúa siendo un misterio, aunque tanto la genética, factores ambientales, la obesidad y la falta de ejercicio parecen desempeñar roles esenciales (Asociación Americana de Diabetes, 2008).

La diabetes se relaciona, fundamentalmente, con dos grupos de complicaciones: unas son las que afectan a los vasos sanguíneos de pequeño tamaño (complicaciones crónicas microvasculares) del ojo (retinopatía) de las terminaciones nerviosas (neuropatía), del riñón (nefropatía) y que vienen determinadas en mayor medida por el grado de control glucémico, mientras que el desarrollo de lesiones en los grandes vasos (complicaciones macrovasculares), afectan al corazón (cardiopatía isquémica), a las extremidades inferiores (claudicación intermitente) y producen enfermedades cerebrovasculares.

La prevalencia de este tipo de enfermedades afectan el proceso de envejecimiento de una persona y se deben en gran medida a factores de riesgo: consumo de tabaco, uso nocivo del alcohol, inactividad física, obesidad, perfil lipídico alterado y dieta inadecuada. Sin embargo, la modificación de hábitos no saludables y el control de los factores de riesgo pueden, en la mayoría de los casos, evitar las manifestaciones clínicas de algunas enfermedades crónicas e impedir complicaciones que, sin control, pueden causar discapacidades que tienden a disminuir la calidad de vida de las personas mayores. Por ello, la necesidad de la detección temprana, tratamiento y rehabilitación de los que padecen enfermedades no transmisibles y de planificar programas de acciones preventivas para esta población, que favorezcan su continuo desarrollo y mejore su calidad de vida.

Descripciónn de las variables

En este estudio, se seleccionan un total de 952 participantes de 18 años o más, de los cuales 580 son hombres y 372 son mujeres. Se pidé a los participantes que respondieran un cuestionario que se muestra en la Tabla 1, que fue preparado por ellos mismos en función de las limitaciones que podrán conducir a la diabetes. Para verificar la validez del modelo, se realizaron los mismos experimentos en otra base de datos llamada PIMA Indian Diabetes Database. Edad: La edad de las personas diagnosticadas. Tipo:Cuantitativa-continua

Género: Indica si las personas son hombres o mujeres. Tipo:Cualitativa-nominal

Historia familiar con diabetes: Indica si algún familiar ha sido diagnosticado con diabetes en el pasado. Tipo:Cualitativa-nominal

Diagnóstico de presión arterial alta: Indica si la persona tiene presión arterial alta. Tipo:Cualitativa-nominal

Actividad física : Describe si la persona realiza actividades físicas como caminar, correr o estar activo. Tipo:Cualitativa-nominal

Índice de Masa Corporal(IMC): Un número calculado a partir del peso y la estatura de la persona. Tipo:Cuantitativa-continua

Hábito de fumar: Indica si la persona fuma y su posible relación con la diabetes. Tipo:Cualitativa-nominal

Consumo de alcohol: Registro del consumo de alcohol por parte de las personas diagnosticadas con diabetes. Tipo:Cualitativa-nominal

Horas de sueño: La cantidad de horas que la persona duerme. Tipo:Cuantitativa-continua

Horas de sueño profundo: Horas de sueño sin interrupciones o incomodidades. Tipo:Cuantitativa-continua

Ingesta regular de medicamentos: Si la persona toma medicamentos de manera regular. Tipo:Cualitativa-nominal

Consumo de comida chatarra: Indica si la persona consume comida chatarra. Tipo:Cualitativa-ordinal

Nivel de estrés: Evaluación del nivel de estrés que experimentan las personas. Tipo:Cualitativa-ordinal

Nivel de presión arterial: Indica el nivel de presión arterial que tienen las personas. Tipo:Cualitativa-ordinal

Número de embarazos: Para mujeres, el número de embarazos que han tenido. Tipo:Cuantitativa-discreta

Diabetes gestacional: Indica si la persona ha tenido diabetes gestacional. Tipo:Cualitativa-nomial

Frecuencia de micción: Determina con qué frecuencia las personas van al baño a orinar. Tipo:Cualitativa-ordinal

Diabetes (diagnóstico): Indica si la persona está diagnosticada con diabetes o no. Tipo:Cualitativa-nominal

Nombres de las varibales que tiene nuestra base de datos

classes<-sapply(diabetes2,class);classes
##              Age           Gender  Family_Diabetes           highBP 
##      "character"      "character"      "character"      "character" 
## PhysicallyActive              BMI          Smoking          Alcohol 
##      "character"        "integer"      "character"      "character" 
##            Sleep       SoundSleep  RegularMedicine         JunkFood 
##        "integer"        "integer"      "character"      "character" 
##           Stress          BPLevel       Pregancies        Pdiabetes 
##      "character"      "character"        "integer"      "character" 
##     UriationFreq         Diabetic 
##      "character"      "character"

Convertir las variables caracter a factor

Convertir la varibale edad a factor

edadfactor<-factor(diabetes2$Age)
levels(edadfactor)=c("40-49","50-59","60 or older","less than 40")
class(edadfactor)
## [1] "factor"
#edadfactor

Convertir la varibale genero a factor

generofactor<-factor(diabetes2$Gender)
levels(generofactor)=c("Male","Female")
class(generofactor)
## [1] "factor"
#generofactor

Convertir la varibale Family_Diabetes a factor

familiadiabetes<-factor(diabetes2$Family_Diabetes)
levels(familiadiabetes)=c("yes","no")
class(familiadiabetes)
## [1] "factor"
#familiadiabetes

convertir la varibale highBP a factor

altoBP<-factor(diabetes2$highBP)
levels(altoBP)=c("yes","no")
class(altoBP)
## [1] "factor"
#altoBP

Convertir la varibale PhysicallyActive a factor

activifisica<-factor(diabetes2$PhysicallyActive)
levels(activifisica)=c("less than half an hr ","more than half an hr","none
","one hr or more")
class(activifisica)
## [1] "factor"
#activifisica

Convertir la varibale smoking a factor

fumafactor<-factor(diabetes2$Smoking)
levels(fumafactor)=c("yes","no")
class(fumafactor)
## [1] "factor"
#fumafactor

Convertir la varibale alchol a factor

alcolfactor<-factor(diabetes2$Alcohol)
levels(alcolfactor)=c("yes","no")
class(alcolfactor)
## [1] "factor"
#alcolfactor

Convertir la varibale regular medicine a factor

tomamedicina<-factor(diabetes2$RegularMedicine)
levels(tomamedicina)=c("yes","no")
class(tomamedicina)
## [1] "factor"
#tomamedicina

Convertir la varibale Junkfood a factor

comidacha<-factor(diabetes2$JunkFood)
levels(comidacha)=c("often","occasionally","very often", "always")
class(comidacha)
## [1] "factor"
#junkfoodfactor

Convertir la varibale Stress a factor

estresfactor<-factor(diabetes2$Stress)
levels(estresfactor)=c("not at all","sometimes","very often", "always")
class(estresfactor)
## [1] "factor"
#estresfactor

Convertir la varibale BPlevel a factor

nivelbp<-factor(diabetes2$BPLevel)
levels(nivelbp)=c("normal","high","low")
class(nivelbp)
## [1] "factor"
#nivelbp

Convertir la varibale Uriationfreq a factor

orinarfrec<-factor(diabetes2$UriationFreq)
levels(orinarfrec)=c("not much","quite often")
class(orinarfrec)
## [1] "factor"
#orinarfrec

Convertir la varibale Diabecic a factor

diabeticofac<-factor(diabetes2$UriationFreq)
levels(diabeticofac)=c("yes","no")
class(diabeticofac)
## [1] "factor"
#diabeticofac

Convertir la varibale Pdiabetes a factor

diabeticop<-factor(diabetes2$Pdiabetes)
levels(diabeticop)=c("0","1")
class(diabeticop)
## [1] "factor"
#diabeticop

Nueva base

# Creamos la nueva base datos con las variables transformadas a factor
datos2 <- data.frame(edadfactor, generofactor, familiadiabetes, altoBP, activifisica, diabetes2$BMI, fumafactor, alcolfactor, diabetes2$Sleep, diabetes2$SoundSleep, tomamedicina, comidacha, estresfactor, nivelbp, diabetes2$Pregancies, diabeticop, orinarfrec, diabeticofac)
class(datos2)
## [1] "data.frame"
# Verificacion de tipo de variables
clase2<-sapply(datos2,class);clase2
##           edadfactor         generofactor      familiadiabetes 
##             "factor"             "factor"             "factor" 
##               altoBP         activifisica        diabetes2.BMI 
##             "factor"             "factor"            "integer" 
##           fumafactor          alcolfactor      diabetes2.Sleep 
##             "factor"             "factor"            "integer" 
## diabetes2.SoundSleep         tomamedicina            comidacha 
##            "integer"             "factor"             "factor" 
##         estresfactor              nivelbp diabetes2.Pregancies 
##             "factor"             "factor"            "integer" 
##           diabeticop           orinarfrec         diabeticofac 
##             "factor"             "factor"             "factor"
# -----------------------------------------------------------------------------------
# Variables tipo numericas
# diabetes2$BMI,diabetes2$Sleep,diabetes2$SoundSleep,diabetes2$Pregancies,diabetes2$P# diabetes
# -----------------------------------------------------------------------------------
# Caracteristicas de la base 
summary(datos2)
##         edadfactor  generofactor familiadiabetes altoBP   
##  40-49       :139   Male  :349   yes:462         yes:673  
##  50-59       :165   Female:557   no :444         no :233  
##  60 or older :138                                         
##  less than 40:464                                         
##                                                           
##                                                           
##                 activifisica diabetes2.BMI   fumafactor alcolfactor
##  less than half an hr :321   Min.   :15.00   yes:802    yes:707    
##  more than half an hr :227   1st Qu.:21.00   no :104    no :199    
##  none\n               :134   Median :24.00                         
##  one hr or more       :224   Mean   :25.33                         
##                              3rd Qu.:28.00                         
##                              Max.   :42.00                         
##  diabetes2.Sleep  diabetes2.SoundSleep tomamedicina        comidacha  
##  Min.   : 4.000   Min.   : 0.000       yes:572      often       : 38  
##  1st Qu.: 6.000   1st Qu.: 4.000       no :334      occasionally:615  
##  Median : 7.000   Median : 6.000                    very often  :188  
##  Mean   : 6.976   Mean   : 5.609                    always      : 65  
##  3rd Qu.: 8.000   3rd Qu.: 7.000                                      
##  Max.   :11.000   Max.   :11.000                                      
##      estresfactor   nivelbp    diabetes2.Pregancies diabeticop
##  not at all: 97   normal:209   Min.   :0.0000       0:886     
##  sometimes :141   high  : 25   1st Qu.:0.0000       1: 20     
##  very often:508   low   :672   Median :0.0000                 
##  always    :160                Mean   :0.3819                 
##                                3rd Qu.:0.0000                 
##                                Max.   :4.0000                 
##        orinarfrec  diabeticofac
##  not much   :650   yes:650     
##  quite often:256   no :256     
##                                
##                                
##                                
## 
str(datos2)
## 'data.frame':    906 obs. of  18 variables:
##  $ edadfactor          : Factor w/ 4 levels "40-49","50-59",..: 4 4 3 4 3 1 3 1 4 2 ...
##  $ generofactor        : Factor w/ 2 levels "Male","Female": 2 2 1 2 2 2 2 1 2 2 ...
##  $ familiadiabetes     : Factor w/ 2 levels "yes","no": 2 2 2 2 1 1 2 1 1 2 ...
##  $ altoBP              : Factor w/ 2 levels "yes","no": 1 1 1 1 1 1 1 1 1 1 ...
##  $ activifisica        : Factor w/ 4 levels "less than half an hr ",..: 4 4 3 2 2 1 2 3 1 4 ...
##  $ diabetes2.BMI       : int  22 22 26 19 23 26 26 23 22 38 ...
##  $ fumafactor          : Factor w/ 2 levels "yes","no": 1 1 1 2 1 2 1 1 1 1 ...
##  $ alcolfactor         : Factor w/ 2 levels "yes","no": 1 1 1 2 2 1 2 1 1 2 ...
##  $ diabetes2.Sleep     : int  8 8 7 7 7 8 8 7 6 8 ...
##  $ diabetes2.SoundSleep: int  6 6 7 5 6 7 3 7 2 6 ...
##  $ tomamedicina        : Factor w/ 2 levels "yes","no": 1 1 1 1 2 1 2 1 1 2 ...
##  $ comidacha           : Factor w/ 4 levels "often","occasionally",..: 3 3 2 2 2 2 2 3 3 2 ...
##  $ estresfactor        : Factor w/ 4 levels "not at all","sometimes",..: 2 2 3 2 4 3 3 4 2 4 ...
##  $ nivelbp             : Factor w/ 3 levels "normal","high",..: 3 3 3 3 1 3 3 3 3 3 ...
##  $ diabetes2.Pregancies: int  0 0 3 0 0 0 0 1 0 0 ...
##  $ diabeticop          : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
##  $ orinarfrec          : Factor w/ 2 levels "not much","quite often": 1 1 1 1 2 1 2 1 2 1 ...
##  $ diabeticofac        : Factor w/ 2 levels "yes","no": 1 1 1 1 2 1 2 1 2 1 ...
# Comprobamos si realmente existen datos faltantes 
anyNA(datos2) 
## [1] FALSE
sum(is.na(datos2))
## [1] 0
## Se observa que no hay dato faltante en esta base.

Analsis Descriptiva

Media aritmetica

La media representa el punto de equilibrio de la distribución y está influida por los valores extremos. Proporciona una medida de la tendencia general o valor medio de los datos.

Formula

\(\bar{x}=\frac{\sum_{i=1}^{n}x_{i}}{n}\)

Mediana

La media representa el punto de equilibrio de la distribución y está influída por los valores extremos. Proporciona una medida de la tendencia general o valor medio de los datos.

Formula

\(\bar{x}=\frac{\sum_{i=1}^{n}x_{i}f_{i}}{n}\)

Moda

La moda es el valor que aparece más dentro de un conjunto de datos. A diferencia de la media y la mediana, la moda no requiere valores numéricos y puede utilizarse con datos categóricos o discretos.

Formula

\(M_{o}=L_{i}+\frac{f_{i}-f_{i-1}}{(f_{i}-f_{i-1})+(f_{i}-f_{i+1})}\)

Cuartiles

El cuartil es cada uno de los tres valores que pueden dividir un grupo de números, ordenados de menor a mayor, en cuatro partes iguales.

Cuartil determina la separación entre uno y otro subgrupo, dentro de un conjunto de valores estudiados. Así, al primer, segundo y tercer cuartil les llamaremos Q1, Q2 y Q3. Aquellos datos menores a Q1 representan el 25% de los datos, los que están debajo de Q2 son el 50%, mientras que aquellos menores a Q3 son el 75%.

Formula primer cuartil

\(Q_{1}=L+\frac{(\frac{N}{4}-F)c}{f}\)

Formula segundo cuartil

\(Q_{1}=L+\frac{(\frac{N}{2}-F)c}{f}\)

Formula segundo cuartil

\(Q_{1}=L+\frac{(\frac{3N}{4}-F)c}{f}\)

Donde:

\(\bullet\) L es el límite inferior de la clase que contiene el cuartil. \(\bullet\) N es el número total de datos. \(\bullet\) F es la frecuencia acumulada de la clase anterior a la clase que contiene el cuartil. \(\bullet\) c es la amplitud de cada clase. \(\bullet\) f es la frecuencia absoluta de la clase que contiene el cuartil.

Desviacion estandar

La desviación estándar también ayuda a determinar la dispersión de los precios de los activos con respecto a su precio medio y la volatilidad en el mercado.

Una desviación baja indica que los puntos de datos están muy cerca de la media, mientras que una desviación alta muestra que los datos están dispersos en un rango mayor de valores.

Formula

\(s=\sqrt{\frac{\sum_{i=1}^{n}(x-\bar{x})^{2}}{n-1}}\)

summary(datos2 [,clase2=="integer"])
##  diabetes2.BMI   diabetes2.Sleep  diabetes2.SoundSleep diabetes2.Pregancies
##  Min.   :15.00   Min.   : 4.000   Min.   : 0.000       Min.   :0.0000      
##  1st Qu.:21.00   1st Qu.: 6.000   1st Qu.: 4.000       1st Qu.:0.0000      
##  Median :24.00   Median : 7.000   Median : 6.000       Median :0.0000      
##  Mean   :25.33   Mean   : 6.976   Mean   : 5.609       Mean   :0.3819      
##  3rd Qu.:28.00   3rd Qu.: 8.000   3rd Qu.: 7.000       3rd Qu.:0.0000      
##  Max.   :42.00   Max.   :11.000   Max.   :11.000       Max.   :4.0000
## Desviacion de cada variable
des<-sapply(datos2 [,clase2=="integer"],sd);des
##        diabetes2.BMI      diabetes2.Sleep diabetes2.SoundSleep 
##            5.1399922            1.3042497            1.8435140 
## diabetes2.Pregancies 
##            0.9090479

Interpretacion de variable diabetes2.BMI

El valor mínimo es 15, lo cual significa que el valor más pequeño en el conjunto de datos es 15.

El valor máximo es 42, lo cual indica que el valor más grande en el conjunto de datos es 42.

La media es 25.33, lo cual representa el promedio de todos los valores en el conjunto de datos. En este caso, la media indica que, en promedio, los valores tienden a estar cerca de 25.33.

El primer cuartil es 21, lo cual indica que el 25% de los valores en el conjunto de datos son menores o iguales a 21. Es decir, el 25% de los datos se encuentra en el rango más bajo. El segundo cuartil es 24, lo cual ya lo hemos mencionado como la mediana.

El tercer cuartil es 28, lo cual indica que el 75% de los valores en el conjunto de datos son menores o iguales a 28. Esto significa que el 75% de los datos se encuentra en el rango más alto.

La desviación estándar es 5.1399, lo cual es una medida de dispersión que indica cuánto se alejan los valores individuales de la media. En este caso, una desviación estándar de 5.1399 indica que los valores tienden a dispersarse alrededor de la media de 25.33.

Interpretacion de variable diabetes2.Sleep

El valor mínimo es 4, lo cual significa que el valor más pequeño en el conjunto de datos es 4.

El valor máximo es 11, lo cual indica que el valor más grande en el conjunto de datos es 11.

La media es 6.979, lo cual representa el promedio de todos los valores en el conjunto de datos. En este caso, la media indica que, en promedio, los valores tienden a estar cerca de 6.979.

El primer cuartil es 6, lo cual indica que el 25% de los valores en el conjunto de datos son menores o iguales a 6. Es decir, el 25% de los datos se encuentra en el rango más bajo.

El segundo cuartil es 7, lo cual ya lo hemos mencionado como la mediana.

El tercer cuartil es 8, lo cual indica que el 75% de los valores en el conjunto de datos son menores o iguales a 8. Esto significa que el 75% de los datos se encuentra en el rango más alto.

La desviación estándar es 1.3042497, lo cual es una medida de dispersión que indica cuánto se alejan los valores individuales de la media. En este caso, una desviación estándar de 1.3042497 indica que los valores tienden a dispersarse alrededor de la media de 6.979.