library(readxl) # read_excel
library(writexl) # write_xlsx
library(knitr)
library(tidyverse) #%>%
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr) # selec, mutate,...
library(psych) # describe()
##
## Attaching package: 'psych'
##
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
library(FSA) # Summarize()
## ## FSA v0.9.5. See citation('FSA') if used in publication.
## ## Run fishR() for related website and fishR('IFAR') for related book.
##
## Attaching package: 'FSA'
##
## The following object is masked from 'package:psych':
##
## headtail
library(flextable) # primero instalar el paquete luego cargar la libreria
##
## Attaching package: 'flextable'
##
## The following object is masked from 'package:purrr':
##
## compose
datos <- read_excel("~/Simulacion/fallecidos_covid_Peru.xlsx") # lee el archivo xlsx ubicado en la ruta
view(datos) # muestra la base de datos
attach(datos) # cargar la base de datos al ambiente de trabajo de R
class(datos) # indica el tipo de objetos con el que esta trabajando (vectores, matrices, dataframe - datos de cualquier tipo numericos alfanumericos)
## [1] "tbl_df" "tbl" "data.frame"
head(datos) # permite ver los primeros elementos del dataframe
## # A tibble: 6 × 9
## FECHA_CORTE UUID FECHA_FALLECIMIENTO EDAD_DECLARADA SEXO FECHA_NAC
## <dbl> <chr> <dbl> <dbl> <chr> <dbl>
## 1 20200918 7320cabdc1aaca… 20200319 78 MASC… 19411013
## 2 20200918 e81602051997ac… 20200319 69 MASC… 19510305
## 3 20200918 cecdbf10074dbc… 20200321 83 MASC… 19390817
## 4 20200918 71ecb6bccb248b… 20200324 65 FEME… 19540104
## 5 20200918 566af4276cbe93… 20200324 76 MASC… NA
## 6 20200918 027561e9d126e7… 20200324 94 MASC… 19251206
## # ℹ 3 more variables: DEPARTAMENTO <chr>, PROVINCIA <chr>, DISTRITO <chr>
dim(datos) # muestra la dimension del data frame
## [1] 31369 9
# Tarea Buscar en la base de datos las Femeninas con edad declarada de entre 18 a 30 años
# Mostrar el total de dicha busqueda
dat <- datos %>%
select(SEXO, EDAD_DECLARADA)%>%
filter(SEXO=="FEMENINO", EDAD_DECLARADA%in%c(18:30))%>%
# Filtra de la varable sexo femeninos y edad entre 18 a 30 años
# el comando %in% junto con el vector c, elije elementos de un conjunto
# var %in% c(18,19,30) filtra buscando solo esos tres edades
count (SEXO, sort=T) # cuenta cuantos femeninos encontro
dat # muestra el total encontrado
## # A tibble: 1 × 2
## SEXO n
## <chr> <int>
## 1 FEMENINO 113
view(dat)
dat2<-datos %>%
group_by(SEXO)%>%
summarise(Total=n())
kable(dat2,
caption = "Tabla de conteo")
| SEXO | Total |
|---|---|
| FEMENINO | 9366 |
| MASCULINO | 22003 |
flextable(dat2)%>%
set_caption("Total por genero") %>% # titulo de tabla
fontsize(size = 15, part="all") %>% # tamaño de la fuente
colformat_num(digits=2) # redondea digitos
SEXO | Total |
|---|---|
FEMENINO | 9,366 |
MASCULINO | 22,003 |
datos$Mes <-substr(FECHA_FALLECIMIENTO,5,6)
view(datos)
dat3 <- datos %>%
group_by(SEXO,Mes)%>%
summarise(Total=n())%>%
mutate(Porcentaje=(Total/sum(Total))*100)%>%
rename(Sexo = SEXO)
## `summarise()` has grouped output by 'SEXO'. You can override using the
## `.groups` argument.
flextable(dat3)%>%
colformat_double(digits=2)
Sexo | Mes | Total | Porcentaje |
|---|---|---|---|
FEMENINO | 03 | 21 | 0.22 |
FEMENINO | 04 | 772 | 8.24 |
FEMENINO | 05 | 2,045 | 21.83 |
FEMENINO | 06 | 2,485 | 26.53 |
FEMENINO | 07 | 1,680 | 17.94 |
FEMENINO | 08 | 1,637 | 17.48 |
FEMENINO | 09 | 726 | 7.75 |
MASCULINO | 03 | 56 | 0.25 |
MASCULINO | 04 | 1,984 | 9.02 |
MASCULINO | 05 | 4,999 | 22.72 |
MASCULINO | 06 | 5,680 | 25.81 |
MASCULINO | 07 | 4,002 | 18.19 |
MASCULINO | 08 | 3,707 | 16.85 |
MASCULINO | 09 | 1,575 | 7.16 |
res <- table(SEXO, EDAD_DECLARADA)
view(res)
class(res)
## [1] "table"
res <- as.data.frame(res) # Es necesario que el res sea draframe para poder usar ggplot
view(res)
colnames(res)<-c("SEXO","EDAD","TOTAL")
res
## SEXO EDAD TOTAL
## 1 FEMENINO 0 8
## 2 MASCULINO 0 6
## 3 FEMENINO 1 4
## 4 MASCULINO 1 7
## 5 FEMENINO 2 6
## 6 MASCULINO 2 3
## 7 FEMENINO 3 2
## 8 MASCULINO 3 4
## 9 FEMENINO 4 3
## 10 MASCULINO 4 6
## 11 FEMENINO 5 4
## 12 MASCULINO 5 2
## 13 FEMENINO 6 1
## 14 MASCULINO 6 3
## 15 FEMENINO 7 1
## 16 MASCULINO 7 7
## 17 FEMENINO 8 3
## 18 MASCULINO 8 3
## 19 FEMENINO 9 3
## 20 MASCULINO 9 4
## 21 FEMENINO 10 3
## 22 MASCULINO 10 5
## 23 FEMENINO 11 2
## 24 MASCULINO 11 2
## 25 FEMENINO 12 2
## 26 MASCULINO 12 4
## 27 FEMENINO 13 2
## 28 MASCULINO 13 0
## 29 FEMENINO 14 4
## 30 MASCULINO 14 3
## 31 FEMENINO 15 4
## 32 MASCULINO 15 4
## 33 FEMENINO 16 2
## 34 MASCULINO 16 3
## 35 FEMENINO 17 1
## 36 MASCULINO 17 11
## 37 FEMENINO 18 3
## 38 MASCULINO 18 5
## 39 FEMENINO 19 4
## 40 MASCULINO 19 2
## 41 FEMENINO 20 3
## 42 MASCULINO 20 11
## 43 FEMENINO 21 6
## 44 MASCULINO 21 9
## 45 FEMENINO 22 6
## 46 MASCULINO 22 16
## 47 FEMENINO 23 13
## 48 MASCULINO 23 16
## 49 FEMENINO 24 15
## 50 MASCULINO 24 9
## 51 FEMENINO 25 5
## 52 MASCULINO 25 15
## 53 FEMENINO 26 10
## 54 MASCULINO 26 17
## 55 FEMENINO 27 13
## 56 MASCULINO 27 20
## 57 FEMENINO 28 16
## 58 MASCULINO 28 26
## 59 FEMENINO 29 4
## 60 MASCULINO 29 24
## 61 FEMENINO 30 15
## 62 MASCULINO 30 35
## 63 FEMENINO 31 23
## 64 MASCULINO 31 29
## 65 FEMENINO 32 24
## 66 MASCULINO 32 57
## 67 FEMENINO 33 24
## 68 MASCULINO 33 40
## 69 FEMENINO 34 33
## 70 MASCULINO 34 61
## 71 FEMENINO 35 21
## 72 MASCULINO 35 55
## 73 FEMENINO 36 20
## 74 MASCULINO 36 49
## 75 FEMENINO 37 26
## 76 MASCULINO 37 83
## 77 FEMENINO 38 28
## 78 MASCULINO 38 91
## 79 FEMENINO 39 42
## 80 MASCULINO 39 107
## 81 FEMENINO 40 48
## 82 MASCULINO 40 93
## 83 FEMENINO 41 49
## 84 MASCULINO 41 149
## 85 FEMENINO 42 41
## 86 MASCULINO 42 133
## 87 FEMENINO 43 46
## 88 MASCULINO 43 165
## 89 FEMENINO 44 59
## 90 MASCULINO 44 166
## 91 FEMENINO 45 70
## 92 MASCULINO 45 221
## 93 FEMENINO 46 72
## 94 MASCULINO 46 203
## 95 FEMENINO 47 76
## 96 MASCULINO 47 220
## 97 FEMENINO 48 87
## 98 MASCULINO 48 267
## 99 FEMENINO 49 94
## 100 MASCULINO 49 276
## 101 FEMENINO 50 89
## 102 MASCULINO 50 306
## 103 FEMENINO 51 113
## 104 MASCULINO 51 321
## 105 FEMENINO 52 92
## 106 MASCULINO 52 357
## 107 FEMENINO 53 109
## 108 MASCULINO 53 387
## 109 FEMENINO 54 134
## 110 MASCULINO 54 408
## 111 FEMENINO 55 151
## 112 MASCULINO 55 471
## 113 FEMENINO 56 156
## 114 MASCULINO 56 476
## 115 FEMENINO 57 185
## 116 MASCULINO 57 528
## 117 FEMENINO 58 186
## 118 MASCULINO 58 480
## 119 FEMENINO 59 188
## 120 MASCULINO 59 555
## 121 FEMENINO 60 204
## 122 MASCULINO 60 605
## 123 FEMENINO 61 214
## 124 MASCULINO 61 643
## 125 FEMENINO 62 250
## 126 MASCULINO 62 570
## 127 FEMENINO 63 290
## 128 MASCULINO 63 624
## 129 FEMENINO 64 254
## 130 MASCULINO 64 579
## 131 FEMENINO 65 294
## 132 MASCULINO 65 658
## 133 FEMENINO 66 292
## 134 MASCULINO 66 644
## 135 FEMENINO 67 239
## 136 MASCULINO 67 632
## 137 FEMENINO 68 293
## 138 MASCULINO 68 584
## 139 FEMENINO 69 276
## 140 MASCULINO 69 631
## 141 FEMENINO 70 256
## 142 MASCULINO 70 586
## 143 FEMENINO 71 263
## 144 MASCULINO 71 562
## 145 FEMENINO 72 264
## 146 MASCULINO 72 591
## 147 FEMENINO 73 271
## 148 MASCULINO 73 611
## 149 FEMENINO 74 250
## 150 MASCULINO 74 561
## 151 FEMENINO 75 252
## 152 MASCULINO 75 522
## 153 FEMENINO 76 216
## 154 MASCULINO 76 511
## 155 FEMENINO 77 224
## 156 MASCULINO 77 499
## 157 FEMENINO 78 193
## 158 MASCULINO 78 421
## 159 FEMENINO 79 219
## 160 MASCULINO 79 408
## 161 FEMENINO 80 222
## 162 MASCULINO 80 435
## 163 FEMENINO 81 189
## 164 MASCULINO 81 394
## 165 FEMENINO 82 173
## 166 MASCULINO 82 374
## 167 FEMENINO 83 162
## 168 MASCULINO 83 328
## 169 FEMENINO 84 169
## 170 MASCULINO 84 313
## 171 FEMENINO 85 150
## 172 MASCULINO 85 295
## 173 FEMENINO 86 132
## 174 MASCULINO 86 247
## 175 FEMENINO 87 131
## 176 MASCULINO 87 212
## 177 FEMENINO 88 101
## 178 MASCULINO 88 193
## 179 FEMENINO 89 95
## 180 MASCULINO 89 176
## 181 FEMENINO 90 76
## 182 MASCULINO 90 139
## 183 FEMENINO 91 67
## 184 MASCULINO 91 94
## 185 FEMENINO 92 61
## 186 MASCULINO 92 104
## 187 FEMENINO 93 44
## 188 MASCULINO 93 68
## 189 FEMENINO 94 34
## 190 MASCULINO 94 49
## 191 FEMENINO 95 33
## 192 MASCULINO 95 34
## 193 FEMENINO 96 17
## 194 MASCULINO 96 22
## 195 FEMENINO 97 12
## 196 MASCULINO 97 14
## 197 FEMENINO 98 10
## 198 MASCULINO 98 15
## 199 FEMENINO 99 11
## 200 MASCULINO 99 7
## 201 FEMENINO 100 4
## 202 MASCULINO 100 4
## 203 FEMENINO 101 2
## 204 MASCULINO 101 4
## 205 FEMENINO 102 1
## 206 MASCULINO 102 0
## 207 FEMENINO 103 1
## 208 MASCULINO 103 0
## 209 FEMENINO 104 1
## 210 MASCULINO 104 2
## 211 FEMENINO 107 0
## 212 MASCULINO 107 1
## 213 FEMENINO 108 0
## 214 MASCULINO 108 1
bdatos1 <-data.frame(Sexo=res[,1],Edad=res[,2],Total=res[,3])
# tomaremos un dataframe llamado bdatos1
# en el cual tendremos las columnas siguientes
# la columna Sexo tomara los datos de res en la columna 1 res[,1]
# en los corchetes tenemos [a,b], donde a son los renglones
# b son las columnas , si no ponemos numero de columna o renglon
# se tomaran todas lo que hay dentro de los renglones si no se
# especifica un renglon o colimna deseado
bdatos1
## Sexo Edad Total
## 1 FEMENINO 0 8
## 2 MASCULINO 0 6
## 3 FEMENINO 1 4
## 4 MASCULINO 1 7
## 5 FEMENINO 2 6
## 6 MASCULINO 2 3
## 7 FEMENINO 3 2
## 8 MASCULINO 3 4
## 9 FEMENINO 4 3
## 10 MASCULINO 4 6
## 11 FEMENINO 5 4
## 12 MASCULINO 5 2
## 13 FEMENINO 6 1
## 14 MASCULINO 6 3
## 15 FEMENINO 7 1
## 16 MASCULINO 7 7
## 17 FEMENINO 8 3
## 18 MASCULINO 8 3
## 19 FEMENINO 9 3
## 20 MASCULINO 9 4
## 21 FEMENINO 10 3
## 22 MASCULINO 10 5
## 23 FEMENINO 11 2
## 24 MASCULINO 11 2
## 25 FEMENINO 12 2
## 26 MASCULINO 12 4
## 27 FEMENINO 13 2
## 28 MASCULINO 13 0
## 29 FEMENINO 14 4
## 30 MASCULINO 14 3
## 31 FEMENINO 15 4
## 32 MASCULINO 15 4
## 33 FEMENINO 16 2
## 34 MASCULINO 16 3
## 35 FEMENINO 17 1
## 36 MASCULINO 17 11
## 37 FEMENINO 18 3
## 38 MASCULINO 18 5
## 39 FEMENINO 19 4
## 40 MASCULINO 19 2
## 41 FEMENINO 20 3
## 42 MASCULINO 20 11
## 43 FEMENINO 21 6
## 44 MASCULINO 21 9
## 45 FEMENINO 22 6
## 46 MASCULINO 22 16
## 47 FEMENINO 23 13
## 48 MASCULINO 23 16
## 49 FEMENINO 24 15
## 50 MASCULINO 24 9
## 51 FEMENINO 25 5
## 52 MASCULINO 25 15
## 53 FEMENINO 26 10
## 54 MASCULINO 26 17
## 55 FEMENINO 27 13
## 56 MASCULINO 27 20
## 57 FEMENINO 28 16
## 58 MASCULINO 28 26
## 59 FEMENINO 29 4
## 60 MASCULINO 29 24
## 61 FEMENINO 30 15
## 62 MASCULINO 30 35
## 63 FEMENINO 31 23
## 64 MASCULINO 31 29
## 65 FEMENINO 32 24
## 66 MASCULINO 32 57
## 67 FEMENINO 33 24
## 68 MASCULINO 33 40
## 69 FEMENINO 34 33
## 70 MASCULINO 34 61
## 71 FEMENINO 35 21
## 72 MASCULINO 35 55
## 73 FEMENINO 36 20
## 74 MASCULINO 36 49
## 75 FEMENINO 37 26
## 76 MASCULINO 37 83
## 77 FEMENINO 38 28
## 78 MASCULINO 38 91
## 79 FEMENINO 39 42
## 80 MASCULINO 39 107
## 81 FEMENINO 40 48
## 82 MASCULINO 40 93
## 83 FEMENINO 41 49
## 84 MASCULINO 41 149
## 85 FEMENINO 42 41
## 86 MASCULINO 42 133
## 87 FEMENINO 43 46
## 88 MASCULINO 43 165
## 89 FEMENINO 44 59
## 90 MASCULINO 44 166
## 91 FEMENINO 45 70
## 92 MASCULINO 45 221
## 93 FEMENINO 46 72
## 94 MASCULINO 46 203
## 95 FEMENINO 47 76
## 96 MASCULINO 47 220
## 97 FEMENINO 48 87
## 98 MASCULINO 48 267
## 99 FEMENINO 49 94
## 100 MASCULINO 49 276
## 101 FEMENINO 50 89
## 102 MASCULINO 50 306
## 103 FEMENINO 51 113
## 104 MASCULINO 51 321
## 105 FEMENINO 52 92
## 106 MASCULINO 52 357
## 107 FEMENINO 53 109
## 108 MASCULINO 53 387
## 109 FEMENINO 54 134
## 110 MASCULINO 54 408
## 111 FEMENINO 55 151
## 112 MASCULINO 55 471
## 113 FEMENINO 56 156
## 114 MASCULINO 56 476
## 115 FEMENINO 57 185
## 116 MASCULINO 57 528
## 117 FEMENINO 58 186
## 118 MASCULINO 58 480
## 119 FEMENINO 59 188
## 120 MASCULINO 59 555
## 121 FEMENINO 60 204
## 122 MASCULINO 60 605
## 123 FEMENINO 61 214
## 124 MASCULINO 61 643
## 125 FEMENINO 62 250
## 126 MASCULINO 62 570
## 127 FEMENINO 63 290
## 128 MASCULINO 63 624
## 129 FEMENINO 64 254
## 130 MASCULINO 64 579
## 131 FEMENINO 65 294
## 132 MASCULINO 65 658
## 133 FEMENINO 66 292
## 134 MASCULINO 66 644
## 135 FEMENINO 67 239
## 136 MASCULINO 67 632
## 137 FEMENINO 68 293
## 138 MASCULINO 68 584
## 139 FEMENINO 69 276
## 140 MASCULINO 69 631
## 141 FEMENINO 70 256
## 142 MASCULINO 70 586
## 143 FEMENINO 71 263
## 144 MASCULINO 71 562
## 145 FEMENINO 72 264
## 146 MASCULINO 72 591
## 147 FEMENINO 73 271
## 148 MASCULINO 73 611
## 149 FEMENINO 74 250
## 150 MASCULINO 74 561
## 151 FEMENINO 75 252
## 152 MASCULINO 75 522
## 153 FEMENINO 76 216
## 154 MASCULINO 76 511
## 155 FEMENINO 77 224
## 156 MASCULINO 77 499
## 157 FEMENINO 78 193
## 158 MASCULINO 78 421
## 159 FEMENINO 79 219
## 160 MASCULINO 79 408
## 161 FEMENINO 80 222
## 162 MASCULINO 80 435
## 163 FEMENINO 81 189
## 164 MASCULINO 81 394
## 165 FEMENINO 82 173
## 166 MASCULINO 82 374
## 167 FEMENINO 83 162
## 168 MASCULINO 83 328
## 169 FEMENINO 84 169
## 170 MASCULINO 84 313
## 171 FEMENINO 85 150
## 172 MASCULINO 85 295
## 173 FEMENINO 86 132
## 174 MASCULINO 86 247
## 175 FEMENINO 87 131
## 176 MASCULINO 87 212
## 177 FEMENINO 88 101
## 178 MASCULINO 88 193
## 179 FEMENINO 89 95
## 180 MASCULINO 89 176
## 181 FEMENINO 90 76
## 182 MASCULINO 90 139
## 183 FEMENINO 91 67
## 184 MASCULINO 91 94
## 185 FEMENINO 92 61
## 186 MASCULINO 92 104
## 187 FEMENINO 93 44
## 188 MASCULINO 93 68
## 189 FEMENINO 94 34
## 190 MASCULINO 94 49
## 191 FEMENINO 95 33
## 192 MASCULINO 95 34
## 193 FEMENINO 96 17
## 194 MASCULINO 96 22
## 195 FEMENINO 97 12
## 196 MASCULINO 97 14
## 197 FEMENINO 98 10
## 198 MASCULINO 98 15
## 199 FEMENINO 99 11
## 200 MASCULINO 99 7
## 201 FEMENINO 100 4
## 202 MASCULINO 100 4
## 203 FEMENINO 101 2
## 204 MASCULINO 101 4
## 205 FEMENINO 102 1
## 206 MASCULINO 102 0
## 207 FEMENINO 103 1
## 208 MASCULINO 103 0
## 209 FEMENINO 104 1
## 210 MASCULINO 104 2
## 211 FEMENINO 107 0
## 212 MASCULINO 107 1
## 213 FEMENINO 108 0
## 214 MASCULINO 108 1