birthwt {MASS} : el marco de datos tiene 189 filas y 10 columnas. Los datos se recopilaron en Baystate Medical Center, Springfield, Massachusetts durante 1986. Fuente: Hosmer, DW y Lemeshow, S. (1989) Regresión logística aplicada. Nueva York: Wiley.
Referencias: Venables, WN y Ripley, BD (2002) Modern Applied Statistics with S. Fourth edition. Saltador.
https://www.rdocumentation.org/packages/MASS/versions/7.3-51.4/topics/birthwt
library(MASS)
## Warning: package 'MASS' was built under R version 3.6.1
str(birthwt) #Estructura de los datos.
## 'data.frame': 189 obs. of 10 variables:
## $ low : int 0 0 0 0 0 0 0 0 0 0 ...
## $ age : int 19 33 20 21 18 21 22 17 29 26 ...
## $ lwt : int 182 155 105 108 107 124 118 103 123 113 ...
## $ race : int 2 3 1 1 1 3 1 3 1 1 ...
## $ smoke: int 0 0 1 1 1 0 0 0 1 1 ...
## $ ptl : int 0 0 0 0 0 0 0 0 0 0 ...
## $ ht : int 0 0 0 0 0 0 0 0 0 0 ...
## $ ui : int 1 0 0 1 1 0 0 0 0 0 ...
## $ ftv : int 0 3 1 2 0 0 1 1 1 0 ...
## $ bwt : int 2523 2551 2557 2594 2600 2622 2637 2637 2663 2665 ...
head(birthwt) #Cabecera de los datos.
## low age lwt race smoke ptl ht ui ftv bwt
## 85 0 19 182 2 0 0 0 1 0 2523
## 86 0 33 155 3 0 0 0 0 3 2551
## 87 0 20 105 1 1 0 0 0 1 2557
## 88 0 21 108 1 1 0 0 1 2 2594
## 89 0 18 107 1 1 0 0 1 0 2600
## 91 0 21 124 3 0 0 0 0 0 2622
#help(birthwt)
bwt <- with(birthwt, {
race <- factor(race, labels = c("white", "black", "other"))
ptd <- factor(ptl > 0)
ftv <- factor(ftv)
levels(ftv)[-(1:2)] <- "2+"
data.frame(low = factor(low, labels = c("No", "Yes")), age, lwt, race, smoke = (smoke > 0),
ptd, ht = (ht > 0), ui = (ui > 0), ftv, bwt)
})
str(bwt) #Estructura de los datos.
## 'data.frame': 189 obs. of 10 variables:
## $ low : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
## $ age : int 19 33 20 21 18 21 22 17 29 26 ...
## $ lwt : int 182 155 105 108 107 124 118 103 123 113 ...
## $ race : Factor w/ 3 levels "white","black",..: 2 3 1 1 1 3 1 3 1 1 ...
## $ smoke: logi FALSE FALSE TRUE TRUE TRUE FALSE ...
## $ ptd : Factor w/ 2 levels "FALSE","TRUE": 1 1 1 1 1 1 1 1 1 1 ...
## $ ht : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ ui : logi TRUE FALSE FALSE TRUE TRUE FALSE ...
## $ ftv : Factor w/ 3 levels "0","1","2+": 1 3 2 3 1 1 2 2 2 1 ...
## $ bwt : int 2523 2551 2557 2594 2600 2622 2637 2637 2663 2665 ...
head(bwt) #Cabecera de los datos.
## low age lwt race smoke ptd ht ui ftv bwt
## 1 No 19 182 black FALSE FALSE FALSE TRUE 0 2523
## 2 No 33 155 other FALSE FALSE FALSE FALSE 2+ 2551
## 3 No 20 105 white TRUE FALSE FALSE FALSE 1 2557
## 4 No 21 108 white TRUE FALSE FALSE TRUE 2+ 2594
## 5 No 18 107 white TRUE FALSE FALSE TRUE 0 2600
## 6 No 21 124 other FALSE FALSE FALSE FALSE 0 2622
df = subset(bwt,select=c(1,4)) #Filtro low y race por columna.
table(df)->data #Creando una tabla bidimencional.
round(prop.table(data),3)#Frecuencia relativa global
## race
## low white black other
## No 0.386 0.079 0.222
## Yes 0.122 0.058 0.132
round(prop.table(data,margin=1),3)#Frecuencia marginal por filas.
## race
## low white black other
## No 0.562 0.115 0.323
## Yes 0.390 0.186 0.424
round(prop.table(data,margin=2),3)#Frecuencia marginal por columnas.
## race
## low white black other
## No 0.760 0.577 0.627
## Yes 0.240 0.423 0.373
plot(data,col="lightblue",main="Raza | Peso")
Diagrama 1: Podemos observar que en las 3 razas de la madre el Indicador de peso al nacer NO es inferior a 2,5 kg domina en las 3 categorias siendo mas probable que el peso promedio de los bebés sea > 2.5kg
barplot(prop.table(data,margin = 1),beside=TRUE,legend.text=TRUE,ylim=c(0,0.6),col=c("black","lightgreen"),main="Frecuencia relativa marginal \n del peso inferior a 2.5 kg del bebé \n con respecto a la raza de la madre")
Diagrama 2: El peso de los bebés No inferior a 2.5kg tiene una valor máximo en las mujeres de raza blanca.
barplot(t(prop.table(data,margin=2)),beside=TRUE,legend.text=TRUE,ylim=c(0,0.8),col=c("white","black","lightblue"),main="Frecuencia relativa marginal \n de la raza de la madre \n respecto al peso inferior a 2.5kg del bebé")
Diagrama 3: Podemos observar que para todas las razas predomina el NO, las mujeres de raza blanca tienen mayor influencia en el No , pero para las 3 razas sus bebés tienden a tener más de 2.5kg
Conclusión: según la siguiente tabla https://www.etapainfantil.com/wp-content/uploads/2017/03/Tabla-peso-estatura-bebe-ninos.png el peso de niños y niñas promedio es de 3.4kg para un recién nacido.Los bebés < 2.5kg se consideran pequeños y bebés > 2.5kg son considerados normales. Los 3 diagramas tienden en su mayoría a mostrar bebes > 2.5kg considerados dentro de un rango normal.
df_smoke = subset(bwt,select=c(1,5))#Filtro por columna low,smoke.
table(df_smoke)->data2
round(prop.table(data2),3)#Frecuencia relativa global (low + smoke)
## smoke
## low FALSE TRUE
## No 0.455 0.233
## Yes 0.153 0.159
plot(data2,col="lightblue",main="Diagrama entre la variable peso, y si la madre fuma o no.")
Diagrama 4: Podemos observar que la proporción peso es mayor a 2.5kg si no fuma
round(prop.table(data2,margin=1),3)#Frecuencia marginal por filas.
## smoke
## low FALSE TRUE
## No 0.662 0.338
## Yes 0.492 0.508
barplot(prop.table(data2,margin = 1),beside=TRUE,legend.text=TRUE,ylim=c(0,0.7),col=c("black","lightgreen"),main="Frecuencia relativa marginal \n del peso inferior a 2.5 kg del bebé \n con respecto a la madre fumadora")
Diagrama 5: Podemos observar que el valor máximo esta dado por el peso mayor a 2.5kg si la madre no fuma
round(prop.table(data2,margin=2),3)#Frecuencia marginal por columnas.
## smoke
## low FALSE TRUE
## No 0.748 0.595
## Yes 0.252 0.405
barplot(t(prop.table(data2,margin=2)),beside=TRUE,legend.text=TRUE,ylim=c(0,0.8),col=c("lightblue","lightgreen"),main="Frecuencia relativa marginal \n de la madre fumadora con respecto \n al peso inferior a 2.5kg del bebé")
Diagrama 6: Podemos observar que la proporción no fumadora con peso no inferior a 2.5kg presenta un valor maximo en la grafica.
df_ht = subset(bwt,select=c(1,7))#Filtro por columna low,ht.
table(df_ht)->data3
round(prop.table(data3),3)#Frecuencia relativa global (low + ht)
## ht
## low FALSE TRUE
## No 0.661 0.026
## Yes 0.275 0.037
plot(data3,col="lightblue",main="Diagrama entre la variable peso, y si es la madre es hipertensa o no.")
Diagrama 7: Podemos observar que la proporción de peso no inferior a 2.5kg abarca un rango mayor cuando la madre no es hipertensa
round(prop.table(data3,margin=1),3)#Frecuencia marginal por filas.
## ht
## low FALSE TRUE
## No 0.962 0.038
## Yes 0.881 0.119
barplot(prop.table(data3,margin = 1),beside=TRUE,legend.text=TRUE,ylim=c(0,1),col=c("black","lightgreen"),main="Frecuencia relativa marginal \n del peso inferior a 2.5 kg del bebé \n con respecto a la madre hipertensa")
Diagrama 8: Podemos observar que la proporción de peso no inferior a 2.5kg abarca un rango mayor cuando la madre no es hipertensa
round(prop.table(data3,margin=2),3)#Frecuencia marginal por columnas.
## ht
## low FALSE TRUE
## No 0.706 0.417
## Yes 0.294 0.583
barplot(t(prop.table(data3,margin=2)),beside=TRUE,legend.text=TRUE,ylim=c(0,0.8),col=c("lightblue","lightgreen"),main="Frecuencia relativa marginal \n respecto a la madre hipertensa \n en comparación con el peso \n inferior a 2.5 kg del bebé")
Diagrama 9: Podemos observar que la madre no hipertensa tiende a tener bebes mas grandes
df_terna = subset(bwt,select=c(1,4,5))
table(df_terna)->data4
round(prop.table(data4),3)#Frecuencia relativa global
## , , smoke = FALSE
##
## race
## low white black other
## No 0.212 0.058 0.185
## Yes 0.021 0.026 0.106
##
## , , smoke = TRUE
##
## race
## low white black other
## No 0.175 0.021 0.037
## Yes 0.101 0.032 0.026
round(prop.table(data4,margin=1),3)#Frecuencia marginal por filas.
## , , smoke = FALSE
##
## race
## low white black other
## No 0.308 0.085 0.269
## Yes 0.068 0.085 0.339
##
## , , smoke = TRUE
##
## race
## low white black other
## No 0.254 0.031 0.054
## Yes 0.322 0.102 0.085
round(prop.table(data4,margin=2),3)#Frecuencia marginal por columnas.
## , , smoke = FALSE
##
## race
## low white black other
## No 0.417 0.423 0.522
## Yes 0.042 0.192 0.299
##
## , , smoke = TRUE
##
## race
## low white black other
## No 0.344 0.154 0.104
## Yes 0.198 0.231 0.075
plot(data4,col="lightblue",main="Comparación raza | fumadora | peso inf 2.5kg")
Diagrama 10