EJERCICIO 1

1.

Tabla1 <- data.frame(
  Mes= c("Mayo", "Junio", "Julio"), 
  Ingresos= c(45000, 41500, 51200), 
  Gastos= c(33400, 35400, 35600)
)
Tabla1
##     Mes Ingresos Gastos
## 1  Mayo    45000  33400
## 2 Junio    41500  35400
## 3 Julio    51200  35600

2.

library(dplyr)
Tabla2 <- mutate(Tabla1, Impuestos= c(6450,6300,7100))
Tabla2
##     Mes Ingresos Gastos Impuestos
## 1  Mayo    45000  33400      6450
## 2 Junio    41500  35400      6300
## 3 Julio    51200  35600      7100

3.

library(tidyverse)
Tabla3 <- Tabla2 %>% add_row( Mes = "Agosto", Ingresos = 49700, Gastos = 36300, Impuestos = 6850)
Tabla3
##      Mes Ingresos Gastos Impuestos
## 1   Mayo    45000  33400      6450
## 2  Junio    41500  35400      6300
## 3  Julio    51200  35600      7100
## 4 Agosto    49700  36300      6850

4.

Tabla3$Ingresos<-  replace (Tabla3$Ingresos,Tabla3$Ingresos==51200, 50400)
Tabla3
##      Mes Ingresos Gastos Impuestos
## 1   Mayo    45000  33400      6450
## 2  Junio    41500  35400      6300
## 3  Julio    50400  35600      7100
## 4 Agosto    49700  36300      6850

5.

Tabla3 <- mutate(Tabla3, Beneficios= Ingresos - Gastos - Impuestos)
Tabla3
##      Mes Ingresos Gastos Impuestos Beneficios
## 1   Mayo    45000  33400      6450       5150
## 2  Junio    41500  35400      6300       -200
## 3  Julio    50400  35600      7100       7700
## 4 Agosto    49700  36300      6850       6550

6.

Tabla3 <- Tabla3 %>%
          mutate(Balance = factor(ifelse(Beneficios > 0,"Positivo","Negativo"))) 
Tabla3
##      Mes Ingresos Gastos Impuestos Beneficios  Balance
## 1   Mayo    45000  33400      6450       5150 Positivo
## 2  Junio    41500  35400      6300       -200 Negativo
## 3  Julio    50400  35600      7100       7700 Positivo
## 4 Agosto    49700  36300      6850       6550 Positivo

7.

Tabla_filtrada <- Tabla3 %>%
  filter(Balance == "Positivo") %>%
  select(Mes, Beneficios)
Tabla_filtrada
##      Mes Beneficios
## 1   Mayo       5150
## 2  Julio       7700
## 3 Agosto       6550

EJERCICIO 2

library(readr)

1.

url <- "https://raw.githubusercontent.com/jairoayala1212/Database/main/Medicos.csv"
Medicos <- read_csv(url)
print(head(Medicos))
## # A tibble: 6 × 6
##   nombre                        edad sexo   peso altura colesterol
##   <chr>                        <dbl> <chr> <dbl>  <dbl>      <dbl>
## 1 José Luis Martínez Izquierdo    18 H        85   1.79        182
## 2 Rosa Díaz Díaz                  32 M        65   1.73        232
## 3 Javier Garcia Sánchez           24 H        NA   1.81        191
## 4 Carmen López Pinzón             35 M        65   1.7         200
## 5 Marisa López Collado            46 M        51   1.58        148
## 6 Antonio Ruiz Cruz               68 H        66   1.74        249

2.

str(Medicos)
## spc_tbl_ [14 × 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ nombre    : chr [1:14] "José Luis Martínez Izquierdo" "Rosa Díaz Díaz" "Javier Garcia Sánchez" "Carmen López Pinzón" ...
##  $ edad      : num [1:14] 18 32 24 35 46 68 51 22 35 46 ...
##  $ sexo      : chr [1:14] "H" "M" "H" "M" ...
##  $ peso      : num [1:14] 85 65 NA 65 51 66 62 60 90 75 ...
##  $ altura    : num [1:14] 1.79 1.73 1.81 1.7 1.58 1.74 1.72 1.66 1.94 1.85 ...
##  $ colesterol: num [1:14] 182 232 191 200 148 249 276 NA 241 280 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   nombre = col_character(),
##   ..   edad = col_double(),
##   ..   sexo = col_character(),
##   ..   peso = col_double(),
##   ..   altura = col_double(),
##   ..   colesterol = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
dim(Medicos) 
## [1] 14  6
colnames(Medicos)
## [1] "nombre"     "edad"       "sexo"       "peso"       "altura"    
## [6] "colesterol"
summary(Medicos)
##     nombre               edad           sexo                peso       
##  Length:14          Min.   :18.00   Length:14          Min.   : 51.00  
##  Class :character   1st Qu.:24.75   Class :character   1st Qu.: 61.00  
##  Mode  :character   Median :35.00   Mode  :character   Median : 65.00  
##                     Mean   :38.21                      Mean   : 70.92  
##                     3rd Qu.:49.75                      3rd Qu.: 78.00  
##                     Max.   :68.00                      Max.   :109.00  
##                                                        NA's   :1       
##      altura        colesterol   
##  Min.   :1.580   Min.   :148.0  
##  1st Qu.:1.705   1st Qu.:194.0  
##  Median :1.755   Median :210.0  
##  Mean   :1.769   Mean   :220.2  
##  3rd Qu.:1.840   3rd Qu.:249.0  
##  Max.   :1.980   Max.   :280.0  
##                  NA's   :1

3.

library(dplyr)
Medicos <- Medicos %>%
  mutate(IMC = peso / (altura^2))
Medicos
## # A tibble: 14 × 7
##    nombre                           edad sexo   peso altura colesterol   IMC
##    <chr>                           <dbl> <chr> <dbl>  <dbl>      <dbl> <dbl>
##  1 José Luis Martínez Izquierdo       18 H        85   1.79        182  26.5
##  2 Rosa Díaz Díaz                     32 M        65   1.73        232  21.7
##  3 Javier Garcia Sánchez              24 H        NA   1.81        191  NA  
##  4 Carmen López Pinzón                35 M        65   1.7         200  22.5
##  5 Marisa López Collado               46 M        51   1.58        148  20.4
##  6 Antonio Ruiz Cruz                  68 H        66   1.74        249  21.8
##  7 Antonio Fernández Ocaña            51 H        62   1.72        276  21.0
##  8 Pilar Martín González              22 M        60   1.66         NA  21.8
##  9 Pedro Gálvez Tenorio               35 H        90   1.94        241  23.9
## 10 Santiago Reillo Manzano            46 H        75   1.85        280  21.9
## 11 Macarena Álvarez Luna              53 M        55   1.62        262  21.0
## 12 José María Sanz                    58 H        78   1.87        198  22.3
## 13 Miguel Angel Cuadrado Gutiérrez    27 H       109   1.98        210  27.8
## 14 Carolina Rubio Moreno              20 M        61   1.77        194  19.5

4.

Medicos <- Medicos %>%
  mutate(obesidad = case_when(
    IMC < 18.5 ~ "Bajo peso",
    IMC >= 18.5 & IMC <= 24.5 ~ "Saludable",
    IMC > 24.5 & IMC <= 30 ~ "Sobrepeso",
    IMC > 30 ~ "Obeso"
  ))
Medicos
## # A tibble: 14 × 8
##    nombre                      edad sexo   peso altura colesterol   IMC obesidad
##    <chr>                      <dbl> <chr> <dbl>  <dbl>      <dbl> <dbl> <chr>   
##  1 José Luis Martínez Izquie…    18 H        85   1.79        182  26.5 Sobrepe…
##  2 Rosa Díaz Díaz                32 M        65   1.73        232  21.7 Saludab…
##  3 Javier Garcia Sánchez         24 H        NA   1.81        191  NA   <NA>    
##  4 Carmen López Pinzón           35 M        65   1.7         200  22.5 Saludab…
##  5 Marisa López Collado          46 M        51   1.58        148  20.4 Saludab…
##  6 Antonio Ruiz Cruz             68 H        66   1.74        249  21.8 Saludab…
##  7 Antonio Fernández Ocaña       51 H        62   1.72        276  21.0 Saludab…
##  8 Pilar Martín González         22 M        60   1.66         NA  21.8 Saludab…
##  9 Pedro Gálvez Tenorio          35 H        90   1.94        241  23.9 Saludab…
## 10 Santiago Reillo Manzano       46 H        75   1.85        280  21.9 Saludab…
## 11 Macarena Álvarez Luna         53 M        55   1.62        262  21.0 Saludab…
## 12 José María Sanz               58 H        78   1.87        198  22.3 Saludab…
## 13 Miguel Angel Cuadrado Gut…    27 H       109   1.98        210  27.8 Sobrepe…
## 14 Carolina Rubio Moreno         20 M        61   1.77        194  19.5 Saludab…

5.

Medicos <- Medicos %>%
  select(nombre, sexo, edad, everything()) 
Medicos
## # A tibble: 14 × 8
##    nombre                     sexo   edad  peso altura colesterol   IMC obesidad
##    <chr>                      <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>   
##  1 José Luis Martínez Izquie… H        18    85   1.79        182  26.5 Sobrepe…
##  2 Rosa Díaz Díaz             M        32    65   1.73        232  21.7 Saludab…
##  3 Javier Garcia Sánchez      H        24    NA   1.81        191  NA   <NA>    
##  4 Carmen López Pinzón        M        35    65   1.7         200  22.5 Saludab…
##  5 Marisa López Collado       M        46    51   1.58        148  20.4 Saludab…
##  6 Antonio Ruiz Cruz          H        68    66   1.74        249  21.8 Saludab…
##  7 Antonio Fernández Ocaña    H        51    62   1.72        276  21.0 Saludab…
##  8 Pilar Martín González      M        22    60   1.66         NA  21.8 Saludab…
##  9 Pedro Gálvez Tenorio       H        35    90   1.94        241  23.9 Saludab…
## 10 Santiago Reillo Manzano    H        46    75   1.85        280  21.9 Saludab…
## 11 Macarena Álvarez Luna      M        53    55   1.62        262  21.0 Saludab…
## 12 José María Sanz            H        58    78   1.87        198  22.3 Saludab…
## 13 Miguel Angel Cuadrado Gut… H        27   109   1.98        210  27.8 Sobrepe…
## 14 Carolina Rubio Moreno      M        20    61   1.77        194  19.5 Saludab…

6.

Medicos <- Medicos %>%
  filter(!is.na(colesterol))
Medicos
## # A tibble: 13 × 8
##    nombre                     sexo   edad  peso altura colesterol   IMC obesidad
##    <chr>                      <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>   
##  1 José Luis Martínez Izquie… H        18    85   1.79        182  26.5 Sobrepe…
##  2 Rosa Díaz Díaz             M        32    65   1.73        232  21.7 Saludab…
##  3 Javier Garcia Sánchez      H        24    NA   1.81        191  NA   <NA>    
##  4 Carmen López Pinzón        M        35    65   1.7         200  22.5 Saludab…
##  5 Marisa López Collado       M        46    51   1.58        148  20.4 Saludab…
##  6 Antonio Ruiz Cruz          H        68    66   1.74        249  21.8 Saludab…
##  7 Antonio Fernández Ocaña    H        51    62   1.72        276  21.0 Saludab…
##  8 Pedro Gálvez Tenorio       H        35    90   1.94        241  23.9 Saludab…
##  9 Santiago Reillo Manzano    H        46    75   1.85        280  21.9 Saludab…
## 10 Macarena Álvarez Luna      M        53    55   1.62        262  21.0 Saludab…
## 11 José María Sanz            H        58    78   1.87        198  22.3 Saludab…
## 12 Miguel Angel Cuadrado Gut… H        27   109   1.98        210  27.8 Sobrepe…
## 13 Carolina Rubio Moreno      M        20    61   1.77        194  19.5 Saludab…

7.

Medicos <- Medicos %>%
  arrange(nombre)
Medicos
## # A tibble: 13 × 8
##    nombre                     sexo   edad  peso altura colesterol   IMC obesidad
##    <chr>                      <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>   
##  1 Antonio Fernández Ocaña    H        51    62   1.72        276  21.0 Saludab…
##  2 Antonio Ruiz Cruz          H        68    66   1.74        249  21.8 Saludab…
##  3 Carmen López Pinzón        M        35    65   1.7         200  22.5 Saludab…
##  4 Carolina Rubio Moreno      M        20    61   1.77        194  19.5 Saludab…
##  5 Javier Garcia Sánchez      H        24    NA   1.81        191  NA   <NA>    
##  6 José Luis Martínez Izquie… H        18    85   1.79        182  26.5 Sobrepe…
##  7 José María Sanz            H        58    78   1.87        198  22.3 Saludab…
##  8 Macarena Álvarez Luna      M        53    55   1.62        262  21.0 Saludab…
##  9 Marisa López Collado       M        46    51   1.58        148  20.4 Saludab…
## 10 Miguel Angel Cuadrado Gut… H        27   109   1.98        210  27.8 Sobrepe…
## 11 Pedro Gálvez Tenorio       H        35    90   1.94        241  23.9 Saludab…
## 12 Rosa Díaz Díaz             M        32    65   1.73        232  21.7 Saludab…
## 13 Santiago Reillo Manzano    H        46    75   1.85        280  21.9 Saludab…

8.

Medicos_mujeres <- Medicos %>%
  filter(sexo == "M")
print(head(Medicos_mujeres))
## # A tibble: 5 × 8
##   nombre                sexo   edad  peso altura colesterol   IMC obesidad 
##   <chr>                 <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>    
## 1 Carmen López Pinzón   M        35    65   1.7         200  22.5 Saludable
## 2 Carolina Rubio Moreno M        20    61   1.77        194  19.5 Saludable
## 3 Macarena Álvarez Luna M        53    55   1.62        262  21.0 Saludable
## 4 Marisa López Collado  M        46    51   1.58        148  20.4 Saludable
## 5 Rosa Díaz Díaz        M        32    65   1.73        232  21.7 Saludable
Medicos_mujeres
## # A tibble: 5 × 8
##   nombre                sexo   edad  peso altura colesterol   IMC obesidad 
##   <chr>                 <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>    
## 1 Carmen López Pinzón   M        35    65   1.7         200  22.5 Saludable
## 2 Carolina Rubio Moreno M        20    61   1.77        194  19.5 Saludable
## 3 Macarena Álvarez Luna M        53    55   1.62        262  21.0 Saludable
## 4 Marisa López Collado  M        46    51   1.58        148  20.4 Saludable
## 5 Rosa Díaz Díaz        M        32    65   1.73        232  21.7 Saludable

9.

Medicos_hombres_mayores_30 <- Medicos %>%
  filter(sexo == "H" & edad > 30)
Medicos_hombres_mayores_30
## # A tibble: 5 × 8
##   nombre                  sexo   edad  peso altura colesterol   IMC obesidad 
##   <chr>                   <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>    
## 1 Antonio Fernández Ocaña H        51    62   1.72        276  21.0 Saludable
## 2 Antonio Ruiz Cruz       H        68    66   1.74        249  21.8 Saludable
## 3 José María Sanz         H        58    78   1.87        198  22.3 Saludable
## 4 Pedro Gálvez Tenorio    H        35    90   1.94        241  23.9 Saludable
## 5 Santiago Reillo Manzano H        46    75   1.85        280  21.9 Saludable

10.

Medicos_anonimos <- Medicos %>%
  select(-nombre)
Medicos_anonimos
## # A tibble: 13 × 7
##    sexo   edad  peso altura colesterol   IMC obesidad 
##    <chr> <dbl> <dbl>  <dbl>      <dbl> <dbl> <chr>    
##  1 H        51    62   1.72        276  21.0 Saludable
##  2 H        68    66   1.74        249  21.8 Saludable
##  3 M        35    65   1.7         200  22.5 Saludable
##  4 M        20    61   1.77        194  19.5 Saludable
##  5 H        24    NA   1.81        191  NA   <NA>     
##  6 H        18    85   1.79        182  26.5 Sobrepeso
##  7 H        58    78   1.87        198  22.3 Saludable
##  8 M        53    55   1.62        262  21.0 Saludable
##  9 M        46    51   1.58        148  20.4 Saludable
## 10 H        27   109   1.98        210  27.8 Sobrepeso
## 11 H        35    90   1.94        241  23.9 Saludable
## 12 M        32    65   1.73        232  21.7 Saludable
## 13 H        46    75   1.85        280  21.9 Saludable