# 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
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.
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
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"
edadfactor<-factor(diabetes2$Age)
levels(edadfactor)=c("40-49","50-59","60 or older","less than 40")
class(edadfactor)
## [1] "factor"
#edadfactor
generofactor<-factor(diabetes2$Gender)
levels(generofactor)=c("Male","Female")
class(generofactor)
## [1] "factor"
#generofactor
familiadiabetes<-factor(diabetes2$Family_Diabetes)
levels(familiadiabetes)=c("yes","no")
class(familiadiabetes)
## [1] "factor"
#familiadiabetes
altoBP<-factor(diabetes2$highBP)
levels(altoBP)=c("yes","no")
class(altoBP)
## [1] "factor"
#altoBP
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
fumafactor<-factor(diabetes2$Smoking)
levels(fumafactor)=c("yes","no")
class(fumafactor)
## [1] "factor"
#fumafactor
alcolfactor<-factor(diabetes2$Alcohol)
levels(alcolfactor)=c("yes","no")
class(alcolfactor)
## [1] "factor"
#alcolfactor
tomamedicina<-factor(diabetes2$RegularMedicine)
levels(tomamedicina)=c("yes","no")
class(tomamedicina)
## [1] "factor"
#tomamedicina
comidacha<-factor(diabetes2$JunkFood)
levels(comidacha)=c("often","occasionally","very often", "always")
class(comidacha)
## [1] "factor"
#junkfoodfactor
estresfactor<-factor(diabetes2$Stress)
levels(estresfactor)=c("not at all","sometimes","very often", "always")
class(estresfactor)
## [1] "factor"
#estresfactor
nivelbp<-factor(diabetes2$BPLevel)
levels(nivelbp)=c("normal","high","low")
class(nivelbp)
## [1] "factor"
#nivelbp
orinarfrec<-factor(diabetes2$UriationFreq)
levels(orinarfrec)=c("not much","quite often")
class(orinarfrec)
## [1] "factor"
#orinarfrec
diabeticofac<-factor(diabetes2$UriationFreq)
levels(diabeticofac)=c("yes","no")
class(diabeticofac)
## [1] "factor"
#diabeticofac
diabeticop<-factor(diabetes2$Pdiabetes)
levels(diabeticop)=c("0","1")
class(diabeticop)
## [1] "factor"
#diabeticop
# 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.
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.
\(\bar{x}=\frac{\sum_{i=1}^{n}x_{i}}{n}\)
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.
\(\bar{x}=\frac{\sum_{i=1}^{n}x_{i}f_{i}}{n}\)
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.
\(M_{o}=L_{i}+\frac{f_{i}-f_{i-1}}{(f_{i}-f_{i-1})+(f_{i}-f_{i+1})}\)
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%.
\(Q_{1}=L+\frac{(\frac{N}{4}-F)c}{f}\)
\(Q_{1}=L+\frac{(\frac{N}{2}-F)c}{f}\)
\(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.
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.
\(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
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.
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.