-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEpidemiologia+Aguirre.Rmd
324 lines (216 loc) · 13.2 KB
/
Epidemiologia+Aguirre.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
---
title: "Epidemiologia de la salud mental mundial"
subtitle: "Datos de 1990 a 2017"
output: html_document
---
```{r setup, include=FALSE, echo=FALSE}
knitr::opts_chunk$set()
```
```{r lectura, eval=TRUE, echo=FALSE, include=FALSE}
if (!require("tidyverse")) install.packages('DT')
library(tidyverse)
df <- read.csv(file = 'C:/Users/Felipe/Desktop/Proyectos/CoderHouse/R/Proyecto Final/epidemiologia_aguirre.csv')
# Cambiar nombre columnas
df <- df %>%
rename(Index = ï..,
Schizophrenia = Schizophrenia....,
Bipolar.disorder = Bipolar.disorder....,
Eating.disorders = Eating.disorders....,
Anxiety.disorders = Anxiety.disorders....,
Alcohol.use.disorders = Alcohol.use.disorders....,
Drug.use.disorders = Drug.use.disorders....,
Depression = Depression....)
```
# Introduccion
El presente informe resume los datos obtenidos en censos de salud mental de 196 paises en todo el mundo en un periodo de 28 años, desde 1990 a 2017.
Los datos fueron obtenidos de <https://ourworldindata.org/>
### Breve analisis de las dimensiones del dataset y de los datos faltantes
```{r resumen_dataset, eval=TRUE, echo=FALSE}
descripcion <- function(x){
print(paste("Nro de columnas del df: ", length(colnames(x))))
print(paste("Nro de filas del df: ", nrow(x)))
print(paste("Cantidad de valores faltantes en el df: ", sum(!complete.cases(df))))
}
descripcion(df)
```
### Paises participantes
```{r instalaciones, eval=TRUE, echo=FALSE, include=FALSE}
if (!require("DT")) install.packages('DT')
library(DT)
```
```{r resumen_paises, eval=TRUE, echo=FALSE}
df_intro <- df[, c("Year", "Entity")]
df_intro <- df_intro%>%group_by(Entity)%>%summarise(Year = mean(Year))
DT::datatable(df_intro[,1])
```
### Diagnosticos evaluados
```{r resumen_dx, eval=TRUE, echo=FALSE}
colnames(df)[5:length(colnames(df))]
```
### Prevalencia total por pais
La siguiente tabla ordena los paises por su prevalencia total de los trastornos mentales evaluados (columna "Prevalencia_Promedio") en orden descendente. La columna "Prevalencia_Desvio_Estandar", como su nombre lo indica, revela el desvio estandar correspondiente a ese pais, con el objetivo de observar la variabilidad de la prevalencia a lo largo de los años.
La mayoria de los paises parece tener un desvio estandar bajo, lo cual sugiere que la prevalencia no vario mucho durante las decadas. Curiosamente, EEUU, Iran y Brazil representan una excepcion. Esto podria deberse a grandes estresores que debieron afrontar los paises en años especificos, por ejemplo una guerra. Una gran variabilidad tambien podria hacernos sospechar de la validez y confiabilidad del metodo de recoleccion de datos. Sin embargo, al menos para los paises mas relevantes (aquellos al principio y final de la tabla), y a excpecion de los tres paises mencionados, el desvio estandar parece ser bajo.
```{r instalaciones2, eval=TRUE, echo=FALSE, include=FALSE}
if (!require("ggplot2")) install.packages('ggplot2')
library(ggplot2)
```
```{r Prevalencia_por_pais, eval=TRUE, echo=FALSE}
df_intro <- mutate(df, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)
df_intro <- df_intro[, c("Entity","Year","Prevalencia_Total")]
df_intro <- df_intro%>%group_by(Entity)%>%summarise(Prevalencia_Promedio = mean(Prevalencia_Total),Prevalencia_Desvio_Estandar = sd(Prevalencia_Total))
df_intro <- df_intro[order(-df_intro$Prevalencia_Promedio),]
DT::datatable(df_intro)
```
### Comparación entre países
El gráfico a continuacion representa la diferencia en prevalencia total de trastornos mentales entre paises, seleccionando el top 5 paises de mayor prevalencia (primeros 5 paises del grafico) y el top 5 de menor prevalencia (ultimos 5 paises del grafico). Esto permite concluir que algunos paises tienen el doble de prevalencia de trastornos mentales.
Por ejemplo, nacer en Groenlandia implica el doble de chances de desarollar un trastorno mental que al nacer en Indonesia.
```{r agrupacion_pais, eval=TRUE, echo=FALSE}
if (!require("ggplot2")) install.packages('ggplot2')
library(ggplot2)
df_pais <- mutate(df, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)%>%
group_by(Entity)%>%
summarise(prevalenciaTotal = mean(Prevalencia_Total))
df_pais <- df_pais[order(-df_pais$prevalenciaTotal),]
# Plot
df_paisTopBotton <- rbind(df_pais[1:5,], df_pais[(length(df_pais$Entity)-4):length(df_pais$Entity),])
df_paisTopBotton <- df_paisTopBotton[1:10,]
df_paisTopBotton <- df_paisTopBotton[order(-df_paisTopBotton$prevalenciaTotal),]
ggplot(df_paisTopBotton[1:10,], aes(x = prevalenciaTotal, y = reorder(Entity, prevalenciaTotal),fill=factor(ifelse(Entity == df_paisTopBotton$Entity[1:5],"Top 5","Botton 5")))) + geom_col(width = 0.7)+ labs(title = "PREVALENCIA POR PAIS", subtitle = "Primeros 5 vs ultimos 5", y = "Pais", x = "Prevalencia (%)") +
geom_bar(stat="identity") +
scale_fill_manual(name = "Paises", values=c("grey50","red"))
```
# Comparación entre años
Puede observarse como la prevalencia total en todo el mundo no cambio significativamente. De todas formas, puede observarse un aumento de un poco mas del 0.1% desde el comienzo de los '90 hasta el 2017.
```{r resumen_year, eval=TRUE, echo=FALSE}
df_year <- mutate(df, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)%>%
group_by(Year)%>%
summarise(prevalenciaTotal = mean(Prevalencia_Total))
cat("Aumento de la prevalencia total mundial desde 1990 a 2017 : ", df_year$prevalenciaTotal[10] - df_year$prevalenciaTotal[1], "%")
# Plot
ggplot(df_year, aes(x = Year, y = prevalenciaTotal)) + geom_point() + labs(title = "PREVALENCIA TOTAL POR AÑO", subtitle = "En todo el mundo", y = "Prevalencia (%)", x = "Año") + coord_cartesian(xlim = c(1990, 2017), ylim = c(10, 12))
```
## Comparación entre trastornos
El siguiente grafico nos permite obtener un resumen visual de todas las enfermedades estudiadas (haciendo un promedio de todos los paises en todos los años). El eje x corresponde al desvio estandar, y el eje y a la prevalencia.
Para empezar, llama la atencion cierta correlacion entre ambas variables. Esto es, cuanto mayor su prevalencia, tambien mayor su variabilidad. Esto implica que dos paies (o el mismo pais en años distintos) pueden tener prevalencias muy distintas de trastornos de ansiedad, pero tendran una prevalencia bastante similar de esquizofrania.
Por otro lado, una comparacion interesante puede ser la del trastorno bipolar (TB) con los trastornos de la conducta alimenticia (TCA). Ambos tienen la misma variabilidad, pero el TB tiene una prevalencia mayor. Por el contrario, tiene la misma prevalencia que los trastornos por consumo de sustancias, pero el segundo tiene una variabilidad mucho mayor.
Finalmente, parece formarse un grupo concentrado de tres trastornos de baja prevalencia y baja variabilidad, muy similares entre si: esquizofrenia, TB y TCA.
```{r resumen_enf, eval=TRUE, echo=FALSE}
# Comparación entre tipos de enfermedad
if (!require("ggplot2")) install.packages('ggplot2')
library(ggplot2)
# promedios y ds
Schizophrenia <- 0
Schizophrenia[1] <- mean(df$Schizophrenia)
Schizophrenia[2] <- sd(df$Schizophrenia)
Anxiety.disorders <- 0
Anxiety.disorders[1] <- mean(df$Anxiety.disorders)
Anxiety.disorders[2] <- sd(df$Anxiety.disorders)
Depression <- 0
Depression[1] <- mean(df$Depression)
Depression[2] <- sd(df$Depression)
Bipolar.disorder <- 0
Bipolar.disorder[1] <- mean(df$Bipolar.disorder)
Bipolar.disorder[2] <- sd(df$Bipolar.disorder)
Eating.disorders <- 0
Eating.disorders[1] <- mean(df$Eating.disorders)
Eating.disorders[2] <- sd(df$Eating.disorders)
Drug.use.disorders <- 0
Drug.use.disorders[1] <- mean(df$Drug.use.disorders)
Drug.use.disorders[2] <- sd(df$Drug.use.disorders)
Alcohol.use.disorders <- 0
Alcohol.use.disorders[1] <- mean(df$Alcohol.use.disorders)
Alcohol.use.disorders[2] <- sd(df$Alcohol.use.disorders)
# Juntarlo
disorders <- c(Schizophrenia,Anxiety.disorders,Depression,
Bipolar.disorder,Eating.disorders,Drug.use.disorders,Alcohol.use.disorders)
# Nombres de las enf
disorderNames <-c('Schizophrenia','Anxiety.disorders','Depression','Bipolar.disorder','Eating.disorders','Drug.use.disorders','Alcohol.use.disorders')
# Guardarlo en variable
promedio <- c()
ds <- c()
for (i in 1:length(disorders))
{
if ((i %% 2) == 0) {
ds <- c(ds, disorders[i])
} else {
promedio <- c(promedio, disorders[i])
}
}
# Crear el df
dfEnf <- data.frame(disorderNames, promedio,ds)
# Plot
ggplot(dfEnf,aes(x=ds,y=promedio,col=disorderNames))+geom_point()
```
# Comparación entre años por tipo de enfermedad
Puede observarse como cada uno de los trastornos mantiene su prevalencia a lo largo de los años.
```{r year_dx, eval=TRUE, echo=FALSE}
df_year <- df[, c("Year", "Schizophrenia", "Eating.disorders", "Drug.use.disorders", "Alcohol.use.disorders", "Bipolar.disorder", "Anxiety.disorders", "Depression")]
df_year <- mutate(df_year, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)%>%
group_by(Year)%>%
summarise(across(everything(), mean))
# Plot
colors <- c("Schizophrenia" = "blue", "Depression" = "red", "Bipolar.disorder" = "cornsilk", "Eating.disorders" = "green", "Alcohol.use.disorders" = "cyan", "Anxiety.disorders" = "darkgoldenrod3", "Drug.use.disorders" = "darkviolet")
ggplot(df_year, aes(x = Year)) +
geom_line(aes(y = Schizophrenia, color = "Schizophrenia"), size = 1.1) +
geom_line(aes(y = Bipolar.disorder, color = "Bipolar.disorder"), size = 1.1) +
geom_line(aes(y = Depression, color = "Depression"), size = 1.1) +
geom_line(aes(y = Anxiety.disorders, color = "Anxiety.disorders"), size = 1.1) +
geom_line(aes(y = Eating.disorders, color = "Eating.disorders"), size = 1.1) +
geom_line(aes(y = Alcohol.use.disorders, color = "Alcohol.use.disorders"), size = 1.1) +
geom_line(aes(y = Drug.use.disorders, color = "Drug.use.disorders"), size = 1.1) +
labs(x = "Year",
y = " Prevalencia (%)",
color = "Legend") +
scale_color_manual(values = colors) + labs(title = "PREVALENCIA MUNDIAL", subtitle = "Por año y por trastorno", y = "Prevalencia (%)", x = "Año")
```
Sin embargo, puede existir un cambio real en la prevalencia tan pequeño que resulte inobservable en un grafico. Veamos el cambio en cada uno de los diagnosticos.
```{r analisis_dx, eval=TRUE, echo=FALSE}
diferencias <- c()
columna <- c()
for(i in 2:(ncol(df_year)-1)) { # for-loop over columns
diferencias[i] <- df_year[10, i] - df_year[1, i]
columna[i] <- colnames(df_year)[i]
}
for(i in 2:length(diferencias)) { # for-loop over columns
print(paste("Para el diagnostico ", columna[i], " la prevalencia aumento en un %", diferencias[i]," entre 1990 y 2017"))
}
```
# El caso del trastorno por consumo de sustancias.
El analisis anterior refleja que el trastorno por consumo de sustancias es el cuadro que mas aumento en prevalencia en las ultimas decadas, concretamente en un %0.043. Esto puede parecer poco, sin embargo, estamos hablando de la prevalencia mundial, por lo que este pequeño aumento se traduce en millones de nuevos casos.
Al graficarlo, observamos mejor como su prevalencia aumenta.
```{r year_dx_especifico, eval=TRUE, echo=FALSE}
df_year <- mutate(df_year, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)%>%
group_by(Year)%>%
summarise(across(everything(), mean))
# Plot
ggplot(df_year, aes(x = Year, y = Drug.use.disorders)) + geom_point() + labs(title = "PREVALENCIA DE TRASTORNO POR CONSUMO DE SUSTANCIAS", subtitle = "En todo el mundo, por año", y = "Prevalencia (%)", x = "Año") + coord_cartesian(xlim = c(1990, 2017), ylim = c(0.5, 1))
```
# El caso de la Argnentina.
A lo largo de las decadas, la prevalencia de todos los trastornos mentales aumenta muy gradualmente.
```{r tablaSumarizadaArg, eval=TRUE, echo=FALSE}
library(knitr)
df_Arg <- mutate(df, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)%>%
filter(Entity %in% c('Argentina'))%>%
select(c(Entity, Year, Prevalencia_Total))%>%
group_by(Year)%>%
summarise('Argentina', across(c('Prevalencia_Total'), mean))
# Plot
kable(df_Arg)
```
Tomando como referencia a nuetro vecino.
```{r tablaSumarizadaArgChile, eval=TRUE, echo=FALSE}
df_ArgChile <- mutate(df, Prevalencia_Total = Depression + Schizophrenia + Bipolar.disorder +
Eating.disorders + Anxiety.disorders + Alcohol.use.disorders + Drug.use.disorders)%>%
filter(Entity %in% c('Argentina','Chile'))%>%
select(c(Entity, Year, Prevalencia_Total))%>%
group_by(Entity)%>%
summarise(media = mean(Prevalencia_Total), Desvio_Estandar = var(Prevalencia_Total))
# Plot
kable(df_ArgChile)
```