#Cargar dataframe
data_f<-read.csv('data_prac_2 1.csv',header = T, sep = ',',
               dec = '.', stringsAsFactors = F)
#Verificar variables dentro del df
names(data_f)
## [1] "edad"    "sexo"    "imc"     "hijos"   "fumador" "region"  "clm"    
## [8] "X"
#Al momento de cargar la base se agrego una variable, por lo tanto, se deben seleccionar la varibles con las que se van a trabajar
data_f<- data_f%>%
  select("edad", "sexo","imc","hijos", "fumador","region", "clm")
names(data_f)
## [1] "edad"    "sexo"    "imc"     "hijos"   "fumador" "region"  "clm"
  1. Realice una revisión de los datos nulos, vacíos o si tienen algún otro carácter:
  1. En caso de presentar valores diferentes a tipo numérico, reemplace con NA.
#Verificar si hay datos faltantes
#Valores NA
any(is.na(data_f))
## [1] FALSE

No hay valores NA’s

#Valores vacios
any(data_f == "", na.rm = TRUE)
## [1] TRUE
colSums(data_f == "", na.rm = TRUE)
##    edad    sexo     imc   hijos fumador  region     clm 
##      53       0      24       0       0       0      27

Se presentan valores vacios en las variables: edad, imc y clm. Por lo tanto, se deben reemplazar por NA’s

# Convertir a numérico y reemplazar valores no numéricos con NA
data_f1 <- data_f %>%
  mutate(across(c(edad, imc, clm), ~ as.numeric(as.character(.))))
## Warning: There were 3 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(c(edad, imc, clm), ~as.numeric(as.character(.)))`.
## Caused by warning:
## ! NAs introducidos por coerción
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
#Verificacion
any(data_f1 == "", na.rm = TRUE)
## [1] FALSE
colSums(data_f1 == "", na.rm = TRUE)
##    edad    sexo     imc   hijos fumador  region     clm 
##       0       0       0       0       0       0       0
  1. Verifique que las variables tengan el fomato adeacuado para trabajar.
#Verificar que las variables tengan formato adecuado
str(data_f1)
## 'data.frame':    1338 obs. of  7 variables:
##  $ edad   : num  19 18 28 33 NA 31 46 37 37 60 ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : num  27.9 33.8 33 22.7 28.9 ...
##  $ hijos  : int  0 1 3 0 0 0 1 3 2 0 ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : num  16885 1726 4449 21984 3867 ...

Las variables ya estan en el formato necesario para poder trabajar sobre el mismo dataframe, por lo tanto, no sera necesario hacer la asignacion del tipo de variable

  1. ¿Hay manera de detectar valores duplicados?, en caso negativo, ¿qué podría proponer como identificador, para evitar duplicados en el data set?
#Comprobacion de valores DUPLICADOS
data_f1%>%
  janitor::get_dupes()
## No variable names specified - using all columns.
##   edad      sexo   imc hijos fumador   region      clm dupe_count
## 1   19 masculino 30.59     0      no noroeste 1639.563          2
## 2   19 masculino 30.59     0      no noroeste 1639.563          2

Si hay forma de saber si en el dataframe existen valores duplicados y es a traves de la paqueteria “Janitor”, una vez identificado es necesario eliminar el valor duplicado para tener un dataframe adecuado

#Eliminacion de valores duplicados
data_f2<- data_f1%>%
  distinct()
#Comparacion
dim(data_f1)
## [1] 1338    7
dim(data_f2)
## [1] 1337    7

Se observa que dentro del dataframe solo existia un valor duplicado, ya que se tenian 1338 datos y posteriormente de la eliminacion de duplicados hay 1337 datos

  1. Reemplace los valores no disponibles con las técnicas usadas, y haga una tabla resumen sobre los resultados (summary) de las variables numéricas, ¿cuál técnica sugiere usar y por qué?
  1. Reemplazo con la MEDIA
#Reemplazar datos con la MEDIA

data_f2_mean<-data.frame(sapply(data_f2,
                                function(x) ifelse(is.na(x),
                                                   mean(x, na.rm=T),x)))

#Comprobar estructura del dataframe
str(data_f2_mean)
## 'data.frame':    1337 obs. of  7 variables:
##  $ edad   : chr  "19" "18" "28" "33" ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : chr  "27.9" "33.77" "33" "22.705" ...
##  $ hijos  : chr  "0" "1" "3" "0" ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : chr  "16884.924" "1725.5523" "4449.462" "21984.47061" ...
#Convertir a variables numericas
data_f2_mean[,c(1,3:4,7)]<-lapply(data_f2_mean[,c(1,3:4,7)], as.numeric)

Al momento de comprobar la estructura del dataframe, no todas las variables son del tipo necesario para seguir trabajando adecuadamente, por lo tanto, fue necesario cambiar el tipo de variable a numerica para: edad, imc, hijos y clm.

#Comparacion de dataframe's
summary(data_f2)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.30   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.59   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##  NA's   :72                         NA's   :39                     
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4750  
##  Mode  :character   Mode  :character   Median : 9382  
##                                        Mean   :13287  
##                                        3rd Qu.:16781  
##                                        Max.   :63770  
##                                        NA's   :41
summary(data_f2_mean)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
  1. Reemplazo con la MEDIANA
#Reemplazar datos con la MEDIANA
data_f2_median<-data.frame(sapply(data_f2,
                                function(x) ifelse(is.na(x),
                                                   median(x, na.rm=T),x)))

#Comprobar estructura del dataframe
str(data_f2_median)
## 'data.frame':    1337 obs. of  7 variables:
##  $ edad   : chr  "19" "18" "28" "33" ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : chr  "27.9" "33.77" "33" "22.705" ...
##  $ hijos  : chr  "0" "1" "3" "0" ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : chr  "16884.924" "1725.5523" "4449.462" "21984.47061" ...
#Convertir a variables numericas
data_f2_median[,c(1,3:4,7)]<-lapply(data_f2_mean[,c(1,3:4,7)], as.numeric)
#Comprobar estructura del dataframe despues del cabio deñ tipo de variable
str(data_f2_median)
## 'data.frame':    1337 obs. of  7 variables:
##  $ edad   : num  19 18 28 33 39.2 ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : num  27.9 33.8 33 22.7 28.9 ...
##  $ hijos  : num  0 1 3 0 0 0 1 3 2 0 ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : num  16885 1726 4449 21984 3867 ...

Al momento de comprobar la estructura del dataframe, no todas las variables son del tipo necesario para seguir trabajando adecuadamente, por lo tanto, fue necesario cambiar el tipo de variable a numerica para: edad, imc, hijos y clm.

#Comparacion de dataframe's
summary(data_f2)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.30   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.59   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##  NA's   :72                         NA's   :39                     
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4750  
##  Mode  :character   Mode  :character   Median : 9382  
##                                        Mean   :13287  
##                                        3rd Qu.:16781  
##                                        Max.   :63770  
##                                        NA's   :41
summary(data_f2_mean)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_median)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
  1. Reemplazo con la MODA
#Reemplazar datos con la MODA
data_f2_mode<-data.frame(lapply(data_f2,
                              function(x) ifelse(is.na(x),
                                                 mfv(x, na_rm=T),x)))
#Comprobar estructura del dataframe
str(data_f2_mode)
## 'data.frame':    1337 obs. of  7 variables:
##  $ edad   : num  19 18 28 33 18 31 46 37 37 60 ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : num  27.9 33.8 33 22.7 28.9 ...
##  $ hijos  : int  0 1 3 0 0 0 1 3 2 0 ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : num  16885 1726 4449 21984 3867 ...
#Comparacion de dataframe's
summary(data_f2)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.30   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.59   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##  NA's   :72                         NA's   :39                     
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4750  
##  Mode  :character   Mode  :character   Median : 9382  
##                                        Mean   :13287  
##                                        3rd Qu.:16781  
##                                        Max.   :63770  
##                                        NA's   :41
summary(data_f2_mean)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_median)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_mode)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:25.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :38.00   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :38.13                      Mean   :30.66   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4762  
##  Mode  :character   Mode  :character   Median : 9305  
##                                        Mean   :13254  
##                                        3rd Qu.:16587  
##                                        Max.   :63770
  1. Reemplazo con la MEDIA RECORTADA
#Reemplazar datos con la MEDIA RECORTADA
data_f2_mean_r <- data.frame(lapply(data_f2,
                                    function(x) ifelse(is.na(x),
                                                       mean(x, na.rm=T, trim=0.2),
                                                       x)))
#Comprobar estructura del dataframe
str(data_f2_mean_r)
## 'data.frame':    1337 obs. of  7 variables:
##  $ edad   : num  19 18 28 33 39.1 ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : num  27.9 33.8 33 22.7 28.9 ...
##  $ hijos  : int  0 1 3 0 0 0 1 3 2 0 ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : num  16885 1726 4449 21984 3867 ...
#Comparacion de dataframe's
summary(data_f2)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.30   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.59   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##  NA's   :72                         NA's   :39                     
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4750  
##  Mode  :character   Mode  :character   Median : 9382  
##                                        Mean   :13287  
##                                        3rd Qu.:16781  
##                                        Max.   :63770  
##                                        NA's   :41
summary(data_f2_mean)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_median)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_mode)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:25.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :38.00   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :38.13                      Mean   :30.66   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4762  
##  Mode  :character   Mode  :character   Median : 9305  
##                                        Mean   :13254  
##                                        3rd Qu.:16587  
##                                        Max.   :63770
summary(data_f2_mean_r)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.08   Mode  :character   Median :30.41   Median :1.000  
##  Mean   :39.23                      Mean   :30.61   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13183  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
  1. Reemplazo con INTERPOLACION
#Reemplazar datos con INTERPOLACION
data_f2_inter<- data.frame(lapply(data_f2,
                                    function(x) ifelse(is.na(x),
                                                       na.approx(x, na.rm=T),
                                                       x)))
#Comprobar estructura del dataframe
str(data_f2_inter)
## 'data.frame':    1337 obs. of  7 variables:
##  $ edad   : num  19 18 28 33 32 31 46 37 37 60 ...
##  $ sexo   : chr  "femenino" "masculino" "masculino" "masculino" ...
##  $ imc    : num  27.9 33.8 33 22.7 28.9 ...
##  $ hijos  : int  0 1 3 0 0 0 1 3 2 0 ...
##  $ fumador: chr  "yes" "no" "no" "no" ...
##  $ region : chr  "suroeste" "sureste" "sureste" "noroeste" ...
##  $ clm    : num  16885 1726 4449 21984 3867 ...
#Comparacion de dataframe's
summary(data_f2)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.30   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.59   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##  NA's   :72                         NA's   :39                     
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4750  
##  Mode  :character   Mode  :character   Median : 9382  
##                                        Mean   :13287  
##                                        3rd Qu.:16781  
##                                        Max.   :63770  
##                                        NA's   :41
summary(data_f2_mean)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_median)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.24   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :39.24                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13287  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_mode)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:25.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :38.00   Mode  :character   Median :30.59   Median :1.000  
##  Mean   :38.13                      Mean   :30.66   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4762  
##  Mode  :character   Mode  :character   Median : 9305  
##                                        Mean   :13254  
##                                        3rd Qu.:16587  
##                                        Max.   :63770
summary(data_f2_mean_r)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.40   1st Qu.:0.000  
##  Median :39.08   Mode  :character   Median :30.41   Median :1.000  
##  Mean   :39.23                      Mean   :30.61   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.40   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4878  
##  Mode  :character   Mode  :character   Median : 9705  
##                                        Mean   :13183  
##                                        3rd Qu.:16115  
##                                        Max.   :63770
summary(data_f2_inter)
##       edad           sexo                imc            hijos      
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.40   Median :1.000  
##  Mean   :39.29                      Mean   :30.62   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.58   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##    fumador             region               clm       
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4796  
##  Mode  :character   Mode  :character   Median : 9411  
##                                        Mean   :13274  
##                                        3rd Qu.:16819  
##                                        Max.   :63770

De todos los metodos el que mas se sugiere usar es mediante el uso de interpolacion ya que es una opción más precisa y menos invasiva,puesto que considera la relación de los datos y mantiene la coherencia y la variabilidad de las observaciones. Mientras que los otros métodos, pueden afectar la estructura y las características de los datos de manera invasiva.

  1. Teniendo la base funcional, emplee el data set con reemplazamiento mediante interpolación, para realizar lo siguiente:
  1. Usando ggplot, realice un histograma para analizar las variables numéricas, ¿este sería el tipo de gráfico más significativo para su análisis univariante?
  1. EDAD
#Histograma EDAD
ggplot(data_f2_inter, aes(x = edad)) +
  geom_histogram(fill = "maroon3", color = "black") +
  labs(title = "Histograma Edad", x = "Edad",y="Frecuencia") +
  theme_light()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

  1. IMC
#Histograma IMC
ggplot(data_f2_inter, aes(x = imc)) +
  geom_histogram(fill = "slategray3", color = "black") +
  labs(title = "Histograma IMC", x = "IMC",y="Frecuencia") +
  theme_light()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

  1. HIJOS
#Histograma HIJOS
ggplot(data_f2_inter, aes(x = hijos)) +
  geom_histogram(fill = "thistle", color = "black") +
  labs(title = "Histograma HIJOS", x = "Hijos",y="Frecuencia") +
  theme_light()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

  1. CLM
#Histograma HIJOS
ggplot(data_f2_inter, aes(x = clm)) +
  geom_histogram(fill = "darkseagreen1", color = "black") +
  labs(title = "Histograma CLM", x = "CLM",y="Frecuencia") +
  theme_light()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Es uno de los gráficos más significativos para el análisis univariante de variables numéricas, ya que permite obtener una visión general rápida de la distribución de los datos. Pero, se pueden usar otros graficos como de densidad para obtener más detalles sobre la variabilidad, la presencia de outliers o la forma de la distribución.

  1. Calcule la media de monto de reclamación por sexo.
#Media de monto de reclamación por sexo.
mean_sex<- data_f2_inter%>%
  group_by(sexo)%>%
  summarise(media=mean(clm))
mean_sex
## # A tibble: 2 × 2
##   sexo       media
##   <chr>      <dbl>
## 1 femenino  12517.
## 2 masculino 14017.
#Grafico
ggplot(mean_sex, aes(x = sexo, y = media, fill = sexo)) +
  geom_bar(stat = "identity", color = "black") +
  labs(title = "Media del Monto de Reclamación por Sexo", 
       x = "Sexo", 
       y = "Media del Monto de Reclamación") +
  theme_light() +
  scale_fill_manual(values = c("brown4", "darkgoldenrod1"))

De la consulta se puede rescatar que la media es mayor para el sexo masculino

  1. Calcule la media de monto de reclamación por fumador y sexo
#Media de monto de reclamación por sexo.
mean_sex_fum<- data_f2_inter%>%
  group_by(fumador,sexo)%>%
  summarise(media_sf=mean(clm), .groups = "drop")
mean_sex_fum
## # A tibble: 4 × 3
##   fumador sexo      media_sf
##   <chr>   <chr>        <dbl>
## 1 no      femenino     8935.
## 2 no      masculino    8206.
## 3 yes     femenino    29556.
## 4 yes     masculino   32874.
#Grafico
ggplot(mean_sex_fum, aes(x = fumador, y = media_sf, fill = sexo)) +
  geom_bar(stat = "identity", position = "dodge", color = "black") +
  labs(title = "Media del Monto de Reclamación por Sexo y Fumador", 
       x = "Fumador", 
       y = "Media del Monto de Reclamación") +
  theme_light() +
  scale_fill_manual(values = c("brown4", "darkgoldenrod1")) 

De la consulta y el grafico se puede rescatar que la media del monto de reclamacion es mas alta para personas del sexo masculino y que son fumadoras

  1. Identifique la región con mayor monto promedio de reclamación.
#Media de monto de reclamación por sexo.
mean_reg<- data_f2_inter%>%
  group_by(region)%>%
  summarise(media_reg=mean(clm))
mean_reg
## # A tibble: 4 × 2
##   region   media_reg
##   <chr>        <dbl>
## 1 noreste     13577.
## 2 noroeste    12418.
## 3 sureste     14588.
## 4 suroeste    12354.
mean_reg_max<-mean_reg%>%
  filter(media_reg == max(media_reg))
mean_reg_max
## # A tibble: 1 × 2
##   region  media_reg
##   <chr>       <dbl>
## 1 sureste    14588.

La region con la media mas alta del monto de reclamacion es la del sureste

  1. Cree una columna con la etiqueta ”obesidad”, si el imc es mayor a 30
#Agregar columna a traves de mutate
data_f2_inter <- data_f2_inter %>%
  mutate(obesidad = ifelse(imc > 30, "Sí", "No"))
head(data_f2_inter)
##   edad      sexo    imc hijos fumador   region       clm obesidad
## 1   19  femenino 27.900     0     yes suroeste 16884.924       No
## 2   18 masculino 33.770     1      no  sureste  1725.552       Sí
## 3   28 masculino 33.000     3      no  sureste  4449.462       Sí
## 4   33 masculino 22.705     0      no noroeste 21984.471       No
## 5   32 masculino 28.880     0      no noroeste  3866.855       No
## 6   31  femenino 25.740     0      no  sureste  3756.622       No
  1. Identifique el top 10 de personas obesas indicando: edad, sexo, hijos, monto de reclamación y región.
top10_ob<- data_f2_inter %>%
  filter(obesidad=='Sí')%>%
  top_n(10,imc)%>%
  select(edad, sexo, imc,hijos, clm, region)%>%
  arrange(desc(imc))
  
top10_ob
##    edad      sexo   imc hijos       clm   region
## 1    18 masculino 53.13     0  1163.463  sureste
## 2    22 masculino 52.58     1 44501.398  sureste
## 3    23 masculino 50.38     1  2438.055  sureste
## 4    58 masculino 49.06     0 11381.325  sureste
## 5    52 masculino 47.74     1  9748.911  sureste
## 6    37  femenino 47.60     2 46113.511 suroeste
## 7    47 masculino 47.52     1  8083.920  sureste
## 8    54  femenino 47.41     0 63770.428  sureste
## 9    52  femenino 46.75     5 12592.534  sureste
## 10   54  femenino 46.70     2 11538.421 suroeste