scieee AI-readable full text Open interactive document viewer

Investigación Epidemiológica: Estudios de caso-control y estudios de cohortes

González Alba, María

Abstract

El objetivo principal de este trabajo es ilustrar cómo tratar los estudios de cohortes y de caso-control en el software estadístico R. En el primer capítulo se hace una introducción a la epidemiología, a la clasificación de los tipos de estudios y a las principales medidas que se aplican en ellos. En el segundo capítulo se profundiza teóricamente en los estudios de cohortes, en las etapas que lo componen y, por último, se reproduce el código de R y se extraen las conclusiones de un estudio de cohortes retrospectivo sobre los factores de riesgo asociados a la gravedad y mortalidad de la enfermedad de COVID-19 en Kazajistán. En el tercer capítulo, se profundiza en los estudios de caso-control y se tratan temas como la selección de los miembros del estudio, además de conocer cómo se lleva a cabo la aplicación de técnicas estadísticas para el tratamiento de estudios de este tipo reproduciendo el código R y extrayendo conclusiones de un estudio de caso-control sobre la búsqueda de factores de riesgo asociados a la infección por Escherichia Coli en un pueblo de Tasmania. En el último capítulo se comparan ambos tipos de estudios y además se dan a conocer algunos estudios híbridos. En el apéndice se incluye código e interpretaciones para estudios complementarios al estudio de cohortes retrospectivo hecho en R en el Capítulo 2.

Full text

Grado en Estadística TRABAJO FIN DE GRADO Investigación Epidemiológica: Estudios de caso-control y estudios de cohortes María González Alba Sevilla, Septiembre de 2021 Índice general Resumen ........................................... iii Abstract............................................ iv ÍndicedeFiguras....................................... v ÍndicedeTablas .......................................viii 1. Introducción a la epidemiología 1 1.1. Definición y características principales . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Factor de exposición vs evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Estudios y diseños epidemiológicos . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Medidas......................................... 7 1.4.1. Medidas de frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4.1.1. Incidencia............................... 7 1.4.1.2. Prevalencia.............................. 9 1.4.2. Medidasdeefecto ............................... 10 1.4.2.1. Riesgo relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.2.2. Oddsratio .............................. 10 2. Estudios de cohortes 13 2.1. Clasificación de los estudios de cohortes y tipos de cohortes . . . . . . . . . . . . 14 2.2. Selección de las cohortes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3. Seguimiento de las cohortes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4. Validez del estudio y sesgos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5. EstudiodecohortesenR ............................... 20 2.5.1. Lecturadelosdatos .............................. 21 2.5.2. Estudio de cohorte retrospectivo para factores de riesgo asociados a la severidad de la enfermedad por COVID-19 . . . . . . . . . . . . . . . . . 24 i 2.5.3. Estudio de cohorte retrospectivo para factores de riesgo asociados a la mortalidad por COVID-19 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3. Estudios de caso-control 45 3.1. Diseñodelestudio ................................... 47 3.2. Seleccióndecasos.................................... 48 3.3. Seleccióndecontroles ................................. 49 3.3.1. Emparejamiento ................................ 50 3.4. Validez del estudio y sesgos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.5. Estudio de caso-control en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5.1. Lectura y preprocesamiento de los datos . . . . . . . . . . . . . . . . . . . 52 3.5.2. Análisis descriptivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.5.3. Análisis inferencial y cálculo de medidas de asociación . . . . . . . . . . . 62 3.5.3.1. Análisis univariante . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.5.3.2. Análisis multivariante . . . . . . . . . . . . . . . . . . . . . . . . 66 3.5.4. Análisis del estudio a partir del emparejamiento individual . . . . . . . . 73 4. Estudios de cohortes frente a estudios de caso-control 77 4.1. Diseñoshíbridos .................................... 79 A. Apéndice: Estudios complementarios al estudio de cohortes de enfermos por COVID-19 en Kazajistán 81 A.1. Correlaciones entre las características clínicas . . . . . . . . . . . . . . . . . . . . 81 A.2. Correlaciones entre las características de laboratorio . . . . . . . . . . . . . . . . 84 A.3. Análisis de Componentes Principales en sintomatología clínica . . . . . . . . . . . 87 A.4. Análisis de Componentes Principales en sintomatología de laboratorio . . . . . . 96 A.5. Asociación de la edad con enfermar grave o muerte por COVID-19 . . . . . . . . 105 A.6. Factores de riesgo asociados a la muerte o a enfermar gravemente por COVID-19 segúnelsitioclínico ..................................111 A.7. Estudio de la asociación del índice de Masa Corporal con enfermar gravemente o morirporCOVID-19..................................112 Bibliografía 121 ii Resumen El objetivo principal de este trabajo es ilustrar cómo tratar los estudios de cohortes y de caso-control en el software estadístico R. En el primer capítulo se hace una introducción a la epidemiología, a la clasificación de los tipos de estudios y a las principales medidas que se aplican en ellos. En el segundo capítulo se profundiza teóricamente en los estudios de cohortes, en las etapas que lo componen y, por último, se reproduce el código de R y se extraen las conclusiones de un estudio de cohortes retrospectivo sobre los factores de riesgo asociados a la gravedad y mortalidad de la enfermedad de COVID-19 en Kazajistán. En el tercer capítulo, se profundiza en los estudios de caso-control y se tratan temas como la selección de los miembros del estudio, además de conocer cómo se lleva a cabo la aplicación de técnicas estadísticas para el tratamiento de estudios de este tipo reproduciendo el código R y extrayendo conclusiones de un estudio de caso-control sobre la búsqueda de factores de riesgo asociados a la infección por Escherichia Coli en un pueblo de Tasmania. En el último capítulo se comparan ambos tipos de estudios y además se dan a conocer algunos estudios híbridos. En el apéndice se incluye código e interpretaciones para estudios complementarios al estudio de cohortes retrospectivo hecho en R en el Capítulo 2. iii Abstract The aim of this work is to illustrate how to deal with cohort and case-control studies in R statistical software. The first chapter introduces epidemiology, the classification of types of studies, and the main measures used on them. In the second chapter, there is an in-depth theoretical study of cohort studies, finally, the R-code is reproduced and the conclusions of a retrospective cohort study on the risk factors associated with the severity and mortality of COVID-19 disease in Kazakhstan are drawn. In the third chapter, the case-control studies are discussed in depth and topics such as the selection of study members, in addition to knowing how the application of statistical techniques for the treatment of studies of this type is carried out by reproducing the R code and drawing conclusions from a case-control study over the search for risk factors associated with Escherichia Coli infection in a village in Tasmania. In the last chapter, both types of studies are compared and some hybrid studies are also released. The appendix includes code and interpretations for studies complementary to the retrospective cohort study done in R in Chapter 2. iv Índice de figuras 1.1. Clasificación de los estudios epidemiológicos. . . . . . . . . . . . . . . . . . . . . . 6 1.2. Gráfico para el cálculo de la tasa de incidencias para el Ejemplo 1.3. Fuente: (Olsenetal.,2010).................................... 8 2.1. Esquema de los estudios prospectivos. . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2. Esquema de los estudios retrospectivos. . . . . . . . . . . . . . . . . . . . . . . . 15 2.3. Esquema de los estudios ambispectivos. . . . . . . . . . . . . . . . . . . . . . . . 15 3.1. Esquema básico de los estudios de caso-control de base primaria. . . . . . . . . . 47 3.2. Gráfico comparador de variables de emparejamiento en casos y controles. . . . . 60 A.1. Matriz de correlaciones de síntomas clínicos por COVID-19. . . . . . . . . . . . . 84 A.2. Matriz de correlaciones de síntomas de laboratorio por COVID-19. . . . . . . . . 86 A.3. Variabilidad representada por cada componente principal. . . . . . . . . . . . . . 92 A.4. Correlación entre cada variable y la componente principal. . . . . . . . . . . . . . 93 A.5. Gráfico entre las 3 primeras componentes según severidad o mortalidad. . . . . . 96 A.6. Variabilidad representada por cada componente principal. . . . . . . . . . . . . . 101 A.7. Correlación entre cada variable y la componente principal. . . . . . . . . . . . . . 102 A.8. Gráfico entre las 3 primeras componentes según severidad o mortalidad. . . . . . 105 v Índice de tablas 1.1. Diferencias entre los efectos probabilísticos y deterministas. Fuente: (Royo- Bordonadaetal.,2009)................................. 2 1.2. Tabla para la definición de la Odds Ratio. Fuente: (Moreno-Altamirano et al., 2000). 11 1.3. Tabla para el Ejemplo 1.5. Fuente: (Mirón Canelo &Alonso Sardón, 2008). . . . 11 2.1. Características demográficas y clínicas de los pacientes con COVID-19 confirmados por laboratorio clasificados al ingreso por gravedad de la enfermedad. . . . . . . 29 2.2. Regresión logística bivariada de factores asociados con las probabilidades de enfermedad grave por COVID-19 en Kazajstán. . . . . . . . . . . . . . . . . . . . 35 2.3. Características demográficas y clínicas de los pacientes, con COVID-19 confirmados por laboratorio, que habían sobrevivido (No muere) o fallecido (Muere) antes del 30deabrilde2020.................................... 39 2.4. Regresión logística bivariada de factores asociados con la mortalidad por COVID- 19enKazajstán. .................................... 42 3.1. Tabla de contingencia estudios de caso control. Fuente: (Henquin, 2013). . . . . . 46 3.2. Características de los distintos tipos de estudios caso-control. Fuente: (Lazcano- Ponceetal.,2001).................................... 48 3.3. Tipos de sesgos en los estudios de caso-control. . . . . . . . . . . . . . . . . . . . 50 3.4. Cabecera del conjunto de datos de caso control original. . . . . . . . . . . . . . . 53 3.5. Características de las variables recogidas en el estudio de caso-control de la infección por Escherichia Coli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.6. Tabla de frecuencias relativas con respecto a la variable vomit en casos y controles. 59 3.7. Tabla de frecuencias relativas con respecto a la variable diarrhoea en casos y controles. ........................................ 59 3.8. Tabla de frecuencias relativas con respecto a la variable hus en casos y controles. 59 3.9. Prevalencia y odds de la asociación entre travel y case. . . . . . . . . . . . . . . . 64 vii 1.3. ESTUDIOS Y DISEÑOS EPIDEMIOLÓGICOS población bajo estudio está seleccionada debido a una característica que presenta y que es de interés para el investigador (Henquin, 2013), además están orientados a evaluar una hipótesis. En este caso, los datos se recopilan con el propósito de estudiarlos para esta causa (Ahrens & Pigeot, 2014). Cabe mencionar que los estudios experimentales son todos de carácter analítico. Para resumir y mejorar el entendimiento de lo introducido hasta ahora sobre esta sección, la Figura 1.1 muestra de forma esquemática los criterios de clasificación de los estudios epidemiológicos y los diseños asociados a estos. Figura 1.1: Clasificación de los estudios epidemiológicos. A lo largo de este trabajo nos centraremos en los estudios observacionales analíticos, concretamente en los estudios de cohortes y de caso-control en los que se profundizará en los siguientes capítulos. 6CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA 1.4. MEDIDAS 1.4. Medidas Con el propósito de determinar la extensión, cuantificar la aparición y el impacto de la enfermedad en la población, nacen las medidas de frecuencia y de efecto. Tienen un papel muy importante en el ámbito epidemiológico ya que, ayudan a hacer comparaciones entre poblaciones de distinta raza, sexo, edad o localización, además de entre individuos que presentan (o están sometidos) o no el factor de exposición. 1.4.1. Medidas de frecuencia Surgen para determinar la frecuencia de la enfermedad o evento de interés (Olsen et al., 2010). La forma más sencilla, aunque no la más útil, de medir la frecuencia de un evento o factor de exposición es contar el número de casos. Según la consideración del tiempo, existen dos tipos de medidas: las medidas de incidencia y las medidas de prevalencia. 1.4.1.1. Incidencia La incidencia mide el número de nuevos casos que aparecen en la población (Kestenbaum, 2009). Se consideran dos tipos de medidas de incidencia: la incidencia acumulada (Ecuación 1.2) y la tasa de incidencia (Ecuación 1.3). Incidencia acumulada (IA) (Kestenbaum, 2009): IA =número de casos nuevos número de personas sanas al inicio (t0)(1.2) Esta medida indica la proporción de personas que han enfermado en el período de tiempo del estudio. La incidencia acumulada se mide sobre una población fija, que no permite entradas durante el tiempo de observación. Tasa de incidencia (I) (Kestenbaum, 2009): I=número de casos nuevos número de personas x tiempo de observación (1.3) Se mide sobre poblaciones dinámicas, es decir, poblaciones que sí permiten la entrada de nuevos miembros al estudio. En la Ecuación 1.3 el denominador se obtiene sumando los tiempos en observación en que cada sujeto está en riesgo de que le aparezca la enfermedad o evento bajo estudio. La tasa de incidencia se mide en las unidades de tiempo inverso ( 1 tiempo o tiempo−1 ). Por tanto, el inverso de la tasa de incidencia se interpreta como el tiempo medio hasta la aparición de la enfermedad. CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA 7 1.4. MEDIDAS A continuación, se muestra cómo calcular ambas medidas de incidencia de la infección de la gripe (Ejemplo 1.2) (Kestenbaum, 2009): ■ Ejemplo 1.2 La población bajo estudio son 500 estudiantes de medicina y se comienza en enero del año 2000 ( t0 ). De enero ( t0 ) a marzo del mismo año se desarrollan 5 nuevos casos de gripe en la población bajo estudio. Incidencia acumulada: IA =5 nuevos casos 500 personas x100 % = 1% 1 de cada 100 personas desarrolla la enfermedad de la gripe. Tasa de incidencia: I=5 nuevos casos 500 personas x 3 meses =5 nuevos casos 1500 personas x meses =0.003333333333 meses−1 En esta ocasión, como es una población cerrada y no se han reportado salidas del estudio, todas las personas están bajo estudio 3 meses, por eso hacemos el cálculo 500 personas x 3 meses = 1500 personas x meses. ■ En el Ejemplo 1.3 y en la Figura 1.2 (Olsen et al., 2010) se expone otro caso de cálculo de la tasa de incidencia en una población dinámica: Figura 1.2: Gráfico para el cálculo de la tasa de incidencias para el Ejemplo 1.3. Fuente: (Olsen et al., 2010). 8CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA 1.4. MEDIDAS ■ Ejemplo 1.3 En el gráfico vemos representadas las entradas y salidas de los individuos bajo estudio, así como la razón de abandono del estudio siendo: D = aparece la enfermedad C = abandono censurado En el eje de ordenadas aparecen los individuos bajo estudio que son, en total, 10 personas. El eje de abscisas de la gráfica se corresponde con el tiempo de observación, que en este caso son 2 años, este eje está dividido en 4 partes iguales, correspondientes a unos 6 meses cada una (0.5 años). La tasa de incidencia será: I=1 nuevo caso (2 + 1 + 0.5 + 1 + 0.5 + 0.5 + 2 + 1.5 + 2 + 2) personas x años =1 13 =0.077 años−1 ■ 1.4.1.2. Prevalencia La prevalencia (Ecuación 1.4) se encarga de medir la proporción de individuos enfermos en un período (Kestenbaum, 2009). Prevalencia =número de personas enfermas total de personas en la población (1.4) Se puede expresar como la probabilidad de estar enfermo en un determinado momento. Esta medida solo hace referencia a un momento concreto o a un período de tiempo limitado, es una medida estática y no se puede ampliar su uso más allá del período especificado. En el Ejemplo 1.4 (Henquin, 2013) se calcula la prevalencia de la miopía en individuos de entre 50 y 80 años. ■ Ejemplo 1.4 Se realiza una encuesta a 2700 personas de entre 50 y 80 años durante un mes. Se encuentran 310 casos de miopía entre los encuestados. Por tanto, la prevalencia es: Prevalencia =310 casos 2700 encuestados =0.1148 La prevalencia de la miopía es del 11.5 % en esta población durante el mes en el que se realizó la encuesta. ■ CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA 9 1.4. MEDIDAS 1.4.2. Medidas de efecto Estas medidas sirven para valorar el efecto que tiene la exposición a un determinado factor de riesgo con la aparición de la enfermedad bajo estudio. Debido a su definición se aplican en estudios en los que se compara una población expuesta con otra que no lo está, ya que, si se diera el caso de que son poblaciones completamente iguales salvo en la exposición, al encontrar alguna diferencia entre ellas se va a atribuir directamente al factor de exposición. 1.4.2.1. Riesgo relativo El riesgo relativo (RR) estima la frecuencia del efecto en el grupo de expuestos en relación al de no expuestos. Esta medida se usa en los estudios de cohortes y en los estudios experimentales. Es el cociente de la incidencia en el grupo expuesto I1 y en el grupo que no lo está I0 (Ecuación 1.5) (Mirón Canelo & Alonso Sardón, 2008). RR =Incidencia en expuestos Incidencia en no expuestos =I1 I0(1.5) Toma valores entre 0 y 1. Si RR > 1 −→ Indica que el factor de exposición está asociado a la enfermedad. Si RR = 1 −→ Indica que no existe asociación entre la enfermedad y el factor de exposición. Si RR < 1 −→ Indica que el factor de exposición disminuye el riesgo de aparición de la enfermedad. El factor de exposición protege al individuo de contraer la enfermedad. 1.4.2.2. Odds ratio Es la medida más usada en los estudios de casos y controles porque, como veremos más adelante, la población de casos en este diseño se selecciona a partir de individuos que ya han desarrollado la enfermedad y, por tanto, no se puede calcular la incidencia. Odds (Ecuación 1.6) es la razón entre una proporción, p , y su complementaria, 1 - p , es decir, el cociente del número de veces que un evento pudo ocurrir y el número de veces que un evento no pudo ocurrir. Odds =p 1 - p (1.6) Por consiguiente, la Odds Ratio (OR) es la razón entre la odds en los expuestos y la odds en los no expuestos. 10 CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA 1.4. MEDIDAS Tabla 1.2: Tabla para la definición de la Odds Ratio. Fuente: (Moreno-Altamirano et al., 2000). Grupo A (casos) Grupo B (controles) Expuestos a b No expuestos c d Teniendo en cuenta la Tabla 1.2 (Moreno-Altamirano et al., 2000) la Odds Ratio se calcularía de la siguiente forma (Ecuación 1.7): OR = a b c d =a·d b·c(1.7) La interpretación de la Odds Ratio es similar a la que se hace del riesgo relativo. Con el Ejemplo 1.5 (Mirón Canelo & Alonso Sardón, 2008) se hace referencia al cálculo de estas dos últimas medidas introducidas. ■ Ejemplo 1.5 Se quiere comparar el riesgo de infección por Hepatitis-B en los sanitarios (expuestos) frente a otro tipo de personal (no expuesto). Lo haremos sobre dos grupos: Grupo A (infectados) y Grupo B (no infectados). La Tabla 1.3 con los datos es la siguiente: Tabla 1.3: Tabla para el Ejemplo 1.5. Fuente: (Mirón Canelo &Alonso Sardón, 2008). Grupo A (infectados) Grupo B (no infectados) Expuestos (sanitarios) a = 40 b = 3960 n1= 4000 No expuestos (otros) c = 2 d = 998 n0= 1000 m1= 42 m0= 4958 N= 5000 Siendo: n1−→ Total de individuos expuestos (sanitarios) en el estudio. n0−→ Total de individuos no expuestos (otros) en el estudio. m1−→ Total de individuos infectados. m0−→ Total de individuos no infectados. Vamos a calcular el riesgo relativo (RR). Por la Ecuación 1.5 sabemos que para el cálculo de esta medida, primero hay que hacer el cálculo de la incidencia en los expuestos y en los no expuestos. Incidencia en expuestos =40 nuevos casos 4000 expuestos en total =40 4000 CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA 11 1.4. MEDIDAS Incidencia en no expuestos =2 nuevos casos 1000 no expuestos en total =2 1000 Por tanto, el riesgo relativo es: RR = 40 4000 2 1000 =5 Por tanto, la infección por hepatitis es 5 veces mayor en el grupo de los expuestos que en el otro. Como se vio en la definición del RR, al ser mayor que 1 indica que la exposición a la infección (ser sanitario) está asociada fuertemente a la aparición de esta misma. Ahora vamos a calcular la Odds Ratio. Por la definición de esta medida (Ecuación 1.7) sabemos que es el cociente de la Odds de los expuestos y de la Odds de los no expuestos. Odds de expuestos =Proporción de contagiados Proporción de no contagiados =40 4000 3960 4000 =a = 40 b = 3960 =40 3960 Odds de no expuestos =2 1000 998 1000 =c=2 d = 998 =2 998 Por tanto, la Odds Ratio es: OR = a = 40 b = 3960 c=2 d = 998 =a·d b·c=5.04 Como vemos, es muy similar al riesgo relativo que hemos obtenido. ■ A lo largo de los siguiente capítulos se irá profundizando en los estudios de cohortes y de caso-control, además se añadirán nuevas medidas específicas para estos estudios si son necesarias y se expondrán más ejemplos aplicados a los diseños ya mencionados. 12 CAPÍTULO 1. INTRODUCCIÓN A LA EPIDEMIOLOGÍA Capítulo 2 Estudios de cohortes Los estudios de cohortes son estudios observacionales analíticos que se caracterizan por la identificación y seguimiento de una o más cohortes con un determinado nivel de exposición, para detectar y cuantificar la aparición del evento o enfermedad de interés a lo largo del tiempo (Royo-Bordonada et al., 2009). Una cohorte es un grupo de personas pertenecientes a la población bajo estudio que comparten una condición en común y cuyo resultado final es desconocido al principio del estudio (Kestenbaum, 2009). La esencia de los estudios de cohortes es el seguimiento (Royo-Bordonada et al., 2009), esto significa que son estudios longitudinales y, además, la cohorte bajo estudio es observada varias veces en el tiempo en el que se realiza el estudio. El seguimiento sirve para medir la frecuencia (Incidencia acumulada, ecuación 1.2) y el ritmo (Tasa de incidencia, ecuación 1.3) de la enfermedad de interés. También cabe añadir que durante este período, se puede modificar el nivel de exposición en la/las cohortes. Los estudios de cohortes ponen su foco en el evento de interés que ocurre durante el seguimiento. Para cumplir con este objetivo, los investigadores suelen excluir de la cohorte a las personas que ya tienen la enfermedad de antemano. Estos estudios ayudan fundamentalmente a buscar la relación entre el factor de exposición y el evento de interés. Son capaces de colaborar en la verificación de la asociación de la exposición y el evento de interés a través del tiempo. A veces, el factor de exposición se encuentra presente en la población bajo estudio de antemano, y en otras ocasiones no y habría que exponer a los miembros a este factor (nos encontraríamos en un estudio experimental), sin embargo, en ambos casos, se podría acabar determinando un grado de relación entre el factor y el evento bajo estudio. 13 2.1. CLASIFICACIÓN DE LOS ESTUDIOS DE COHORTES Y TIPOS DE COHORTES Cabe señalar que si centramos el estudio en observar y obtener conclusiones de una sola cohorte, que sería la de individuos que presentan el factor de exposición, estaríamos ante un estudio de cohortes descriptivo (Henquin, 2013) ya que no habría ningún planteamiento de una hipótesis que relacione el factor y el evento bajo estudio. Al igual que en los estudios analíticos también se usaría la incidencia (Ecuación 1.2) como principal medida, puesto que cuantificaremos la frecuencia del evento entre los individuos de la cohorte que presenta el factor de exposición. 2.1. Clasificación de los estudios de cohortes y tipos de cohortes Los estudios de cohortes se pueden clasificar según el tiempo y el momento de observación en tres tipos según Gallego Iborra et al. (2012): Estudios prospectivos: son los que se han comentado anteriormente. En ellos, los individuos no presentan el evento de interés al comienzo del estudio y, además, sus datos se recogen durante el período de seguimiento y por tanto se sitúan cronológicamente dentro de este. Este tipo de estudio aparece esquematizado en la figura 2.1. Figura 2.1: Esquema de los estudios prospectivos. Estudios retrospectivos: también son conocidos como estudios históricos. Su principal característica es que el estudio se comienza a posteriori de la recolección de datos. En este caso, el período de seguimiento no se sitúa en el tiempo a la vez que el período en el que se hace el estudio (Figura 2.2). Se trata de reconstruir el seguimiento de los miembros de la cohorte a través de la información que se recoge de registros históricos (Royo-Bordonada et al., 2009), por tanto, si los datos no son de calidad, la validez del estudio se verá limitada. 14 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.1. CLASIFICACIÓN DE LOS ESTUDIOS DE COHORTES Y TIPOS DE COHORTES Figura 2.2: Esquema de los estudios retrospectivos. Estudios ambispectivos: es la combinación de los dos anteriores. En el comienzo del estudio a algunos individuos de la cohorte habrá que reconstruirle una parte de su seguimiento, por ello, hay que añadir esta información a los datos de los individuos que se van recogiendo a la vez que avanza el estudio (Figura 2.3). Figura 2.3: Esquema de los estudios ambispectivos. En relación a la población, existen diferentes tipos de cohortes. En general las cohortes se clasifican en fijas o dinámicas. Las cohortes fijas son aquellas en las que no se permite la entrada de nuevos miembros al estudio más allá del período de selección de los individuos y solo admite las salidas de estos miembros ya sea por enfermedad, muerte u otras causas. Sin embargo, las CAPÍTULO 2. ESTUDIOS DE COHORTES 15 2.5. ESTUDIO DE COHORTES EN R COPD = col_factor(levels = c("0","1")), Chronic_kidney_disease = col_factor(levels = c("0","1")), Cancer = col_factor(levels = c("0","1")), Diabetes = col_factor(levels = c("0","1")), Liver_disease = col_factor(levels = c("0","1")), Othercomorb = col_factor(levels = c("0","1")), Cough = col_factor(levels = c("0","1")), Sputum_production = col_factor(levels = c("0","1")), Shortness_of_breath = col_factor(levels = c("0","1")), Dyspnoea = col_factor(levels = c("0","1")), Stuffy = col_factor(levels = c("0","1")), Sore_throat = col_factor(levels = c("0","1")), Oropharynx_hyperemia = col_factor(levels = c("0","1")), Tonsill_hypertrophy = col_factor(levels = c("0","1")), Chest_pain = col_factor(levels = c("0","1")), Chest_tightness = col_factor(levels = c("0","1")), Wheezing = col_factor(levels = c("0","1")), 22 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R Diarrhoea = col_factor(levels = c("0","1")), Nausea_vomiting = col_factor(levels = c("0","1")), Headache = col_factor(levels = c("0","1")), Conjuctivitis = col_factor(levels = c("0","1")), Myalgia_fatigue = col_factor(levels = c("0","1")), Joint_pain = col_factor(levels = c("0","1")), Pneumonia = col_factor(levels = c("0","1")), Bronchitis = col_factor(levels = c("0","1")), Antiviral_medications = col_factor(levels = c("0","1")), Ribavirin = col_factor(levels = c("0","1")), Lopinavir_and_ritonavir = col_factor(levels = c("0","1")), Oseltamivir = col_factor(levels = c("0","1")), Antibiotics = col_factor(levels = c("0","1")), Hydroxychloroquine = col_factor(levels = c("0","1")), Anticoagulant = col_factor(levels = c("0","1")), Corticosteroids = col_factor(levels = c("0","1")), Oxygen_therapy = col_factor(levels = c("0","1")), CAPÍTULO 2. ESTUDIOS DE COHORTES 23 2.5. ESTUDIO DE COHORTES EN R Mechanical_ventilation = col_factor(levels = c("0","1"))), trim_ws = TRUE) # Dimensiones del conjunto de datos dim(covidcohort) ## [1] 1072 75 Es un conjunto de datos con 1072 observaciones y 75 variables. 2.5.2. Estudio de cohorte retrospectivo para factores de riesgo asociados a la severidad de la enfermedad por COVID-19 En este apartado vamos a realizar el análisis descriptivo e inferencial sobre la severidad de la enfermedad por SARS-CoV-2 buscando factores de riesgo. Primero vamos a hacer el análisis descriptivo de los datos a través de una tabla resumen. Para ello hay que preparar el dataset. library(dplyr) library(finalfit) cohort19 <- covidcohort Para obtener una buena clasificación de la gravedad de la enfermedad vamos a crear una nueva variable llamada Disease_severity_group a partir de la variable Disease_severity que ya estaba en el conjunto de datos. La variable Diasease_severity guarda 4 niveles de menor a mayor gravedad. Los individuos de gravedad 1 serán clasificados en la nueva variable con No_sintoma/Leve , los de gravedad 2 formarán el grupo Moderado y los de niveles 3 y 4 serán los del grupo Crítico/Severo. La edad es uno de los factores de exposición de interés, en el conjunto de datos original es de tipo numérico y ahora lo convertiremos a factor con 4 niveles o grupos de edad ( 0-14 , 15-49 , 50-64 y65 o mas). cohort19 %<>% mutate(Disease_severity_group = case_when( Disease_severity == 1~"No_sintoma/Leve", Disease_severity == 2~"Moderado", Disease_severity %in% c(3,4)~"Crítico/Severo")) cohort19$Disease_severity_group <- factor(cohort19$Disease_severity_group, 24 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R levels = c("No_sintoma/Leve", "Moderado", "Crítico/Severo")) cohort19 %<>% mutate(Age_group = case_when( Age <15 ~"0-14", Age >= 15 &Age <50 ~"15-49", Age >= 50 &Age <65 ~"50-64", Age >= 65 ~"65 o mas")) cohort19$Age_group <- factor(cohort19$Age_group, levels = c("0-14", "15-49", "50-64", "65 o mas")) En el estudio se definen nuevas variables a partir de otras para tener más datos sobre la sintomatología de los pacientes. Se va a crear la variable Fever que guarda si un individuo tuvo fiebre o no a partir de su temperatura corporal (variable Body_temperature). La variable SP_low_B guardará dos grupos según si la presión sistólica ( Systolic_pressure ) fue baja o no. La variable RR_high_B guarda dos grupos según si la frecuencia respiratoria fue baja o no (Respiratory_rate). La variable WBC_low_B guarda dos grupos según si la cantidad de glóbulos en sangre (White_blood_cells) era baja o no. WBC_high_B guarda 0 y 1 si la cantidad de glóbulos blancos fue alta. Por último, la variable NLR_high_B guarda información de si la cantidad de neutrófilos y leucocitos (NLR) fue alta. # Creamos la variable fiebre basándonos en la temperatura corporal cohort19 %<>% mutate(Fever = case_when(Body_temperature >= 37.3 ~1, Body_temperature <37.3 ~0)) CAPÍTULO 2. ESTUDIOS DE COHORTES 25 2.5. ESTUDIO DE COHORTES EN R # 1 = tuvo fiebre # 0 = no tuvo fiebre cohort19$Fever <- factor(cohort19$Fever, levels = c(0,1), labels = c("NoFiebre", "Fiebre")) # Creamos la variable presión sistólica baja a partir de la # variable Systolic_pressure cohort19 %<>% mutate(SP_low_B = case_when( Systolic_pressure <90 ~1, Systolic_pressure >= 90 ~0)) # 1 = tensión baja # 0 = tensión alta cohort19$SP_low_B <- factor( cohort19$SP_low_B, levels = c(0,1), labels = c("Alto","Bajo")) # Frecuencia respiratoria basado en Respiratory_rate cohort19 %<>% mutate(RR_high_B = case_when(Respiratory_rate >24 ~1, Respiratory_rate <= 24 ~0)) cohort19$RR_high_B <- factor( cohort19$RR_high_B, levels = c(0,1), labels = c("Bajo","Alto")) # Baja cantidad de glóbulos blancos basado en white_blood_cells cohort19 %<>% mutate(WBC_low_B = case_when(White_blood_cells <4~1, White_blood_cells >= 4~0)) 26 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R cohort19$WBC_low_B <- factor( cohort19$WBC_low_B, levels = c(0,1), labels = c("Alto","Bajo")) # Alta cantidad de glóbulos blancos basado en white_blood_cells cohort19 %<>% mutate(WBC_high_B = case_when( White_blood_cells >10 ~1, White_blood_cells <= 10 ~0)) cohort19$WBC_high_B <- factor( cohort19$WBC_high_B, levels = c(0,1), labels = c("Bajo","Alto")) # Alta cantidad de neutrófilos y leucocitos basado en NLR cohort19 %<>% mutate(NLR_high_B = case_when( NLR >4~1, NLR <= 4~0)) cohort19$NLR_high_B <- factor( cohort19$NLR_high_B, levels = c(0,1), labels = c("Bajo","Alto")) # Los nombres de algunas de las variables son muy largos y pueden causarnos # problemas a la hora de visualizar las tablas o gráficos que vamos a ir # haciendo así que vamos a eliminar el caracter _ para acortarlos un poco colnames(cohort19) <- gsub("_",replacement = "",colnames(cohort19)) colnames(cohort19)[7]<-"Daysym2add" colnames(cohort19)[54]<-"Aspmintran" colnames(cohort19)[60]<-"Creactprot" CAPÍTULO 2. ESTUDIOS DE COHORTES 27 2.5. ESTUDIO DE COHORTES EN R Ahora, que ya se ha preparado el conjunto de datos, vamos a pasar a crear la tabla resumen con la función summary_factorlist de la librería finalfit (Harrison et al., 2021) que nos devuelve una tabla resumen a partir de la relación entre una variable dependiente Diseaseseveritygroup (creada anteriormente) y un grupo de variables independientes (características clínicas, demográficas, radiológicas y de laboratorio). deps <- "Diseaseseveritygroup" exp <- c("Age", "Agegroup", "Sex", "Kazakhethnicity", "BMI", "Daysym2add", "Daysinhospital", "Deaths", "Anycomorbidities", "Fever", "Cough", "Systolicpressure", "SPlowB", "Respiratoryrate", "RRhighB", "SpO2", "Whitebloodcells", "WBClowB", "WBChighB", "NLR", "NLRhighB", "Haemoglobin", "Prothrombintime", "Aspmintran", "Totalbilirubin", "Creatinine", "Creactprot", 28 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R "Pneumonia", "Bronchitis", "Antiviralmedications", "Antibiotics", "Anticoagulant", "Corticosteroids", "Oxygentherapy", "Mechanicalventilation") cohort19 %>% summary_factorlist(deps, exp, p=T, cont = "median", total_col = TRUE, column = TRUE, na_include = F) -> tb1 knitr::kable(tb1, caption = "\\label{table04}Características demográficas y clínicas de los pacientes con COVID-19 confirmados por laboratorio clasificados al ingreso por gravedad de la enfermedad.", align = c("l","r","c","r","c","c","c")) Tabla 2.1: Características demográficas y clínicas de los pacientes con COVID-19 confirmados por laboratorio clasificados al ingreso por gravedad de la enfermedad. label levels No_sintoma/Leve Moderado Crítico/Severo Total p Age Median (IQR) 32.0 (23.0 to 47.0) 38.0 (28.0 to 53.0) 58.0 (45.5 to 71.0) 36.0 (24.0 to 50.0) <0.001 Agegroup 0-14 74 (10.8) 18 (5.3) 1 (2.1) 93 (8.7) <0.001 15-49 455 (66.6) 220 (64.3) 15 (31.9) 690 (64.4) 50-64 117 (17.1) 77 (22.5) 13 (27.7) 207 (19.3) 65 o mas 37 (5.4) 27 (7.9) 18 (38.3) 82 (7.6) CAPÍTULO 2. ESTUDIOS DE COHORTES 29 2.5. ESTUDIO DE COHORTES EN R label levels No_sintoma/Leve Moderado Crítico/Severo Total p Sex Mujer 382 (55.9) 186 (54.4) 20 (42.6) 588 (54.9) 0.200 Hombre 301 (44.1) 156 (45.6) 27 (57.4) 484 (45.1) Kazakhethnicity Kazaj 132 (19.3) 70 (20.5) 18 (38.3) 220 (20.5) 0.008 Otra 551 (80.7) 272 (79.5) 29 (61.7) 852 (79.5) BMI Median (IQR) 23.0 (20.0 to 26.0) 26.0 (23.0 to 30.2) 27.5 (25.8 to 29.2) 24.0 (21.0 to 29.0) 0.007 Daysym2add Median (IQR) 1.0 (1.0 to 2.0) 2.0 (1.0 to 6.0) 4.0 (2.0 to 7.0) 1.0 (1.0 to 3.0) <0.001 Daysinhospital Median (IQR) 16.0 (14.0 to 17.0) 16.0 (15.0 to 18.0) 15.0 (3.0 to 17.0) 16.0 (14.0 to 17.0) 0.058 Deaths No muere 682 (99.9) 337 (98.5) 33 (70.2) 1052 (98.1) <0.001 Muere 1 (0.1) 5 (1.5) 14 (29.8) 20 (1.9) Anycomorbidities No 448 (65.6) 179 (52.3) 14 (29.8) 641 (59.8) <0.001 Si 235 (34.4) 163 (47.7) 33 (70.2) 431 (40.2) Fever NoFiebre 462 (94.7) 181 (68.8) 10 (35.7) 653 (83.8) <0.001 Fiebre 26 (5.3) 82 (31.2) 18 (64.3) 126 (16.2) Cough No 579 (84.8) 179 (52.3) 20 (42.6) 778 (72.6) <0.001 Si 104 (15.2) 163 (47.7) 27 (57.4) 294 (27.4) Systolicpressure Median (IQR) 110.0 (110.0 to 120.0) 120.0 (110.0 to 130.0) 117.5 (107.5 to 126.2) 110.0 (110.0 to 120.0) <0.001 SPlowB Alto 416 (98.1) 234 (100.0) 25 (89.3) 675 (98.4) <0.001 Bajo 8 (1.9) 0 (0.0) 3 (10.7) 11 (1.6) Respiratoryrate Median (IQR) 18.0 (18.0 to 19.0) 18.0 (18.0 to 20.0) 22.5 (20.0 to 28.5) 18.0 (18.0 to 20.0) <0.001 RRhighB Bajo 431 (98.2) 236 (96.7) 19 (67.9) 686 (96.5) <0.001 Alto 8 (1.8) 8 (3.3) 9 (32.1) 25 (3.5) SpO2 Median (IQR) 98.0 (96.0 to 98.0) 97.0 (96.0 to 98.0) 91.5 (84.5 to 95.0) 97.0 (96.0 to 98.0) <0.001 Whitebloodcells Median (IQR) 6.5 (5.1 to 8.0) 6.1 (5.0 to 7.7) 6.5 (5.5 to 9.1) 6.3 (5.1 to 7.9) 0.096 WBClowB Alto 593 (91.7) 293 (89.6) 42 (95.5) 928 (91.2) 0.335 Bajo 54 (8.3) 34 (10.4) 2 (4.5) 90 (8.8) 30 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R label levels No_sintoma/Leve Moderado Crítico/Severo Total p WBChighB Bajo 596 (92.1) 307 (93.9) 36 (81.8) 939 (92.2) 0.019 Alto 51 (7.9) 20 (6.1) 8 (18.2) 79 (7.8) NLR Median (IQR) 2.0 (1.4 to 3.1) 2.1 (1.4 to 3.0) 2.6 (0.9 to 6.5) 2.1 (1.4 to 3.2) 0.485 NLRhighB Bajo 242 (84.3) 132 (85.7) 17 (65.4) 391 (83.7) 0.031 Alto 45 (15.7) 22 (14.3) 9 (34.6) 76 (16.3) Haemoglobin Median (IQR) 137.0 (124.0 to 149.0) 136.5 (124.0 to 152.0) 127.0 (114.5 to 142.5) 136.5 (124.0 to 150.0) 0.013 Prothrombintime Median (IQR) 12.8 (11.4 to 16.0) 12.9 (11.9 to 15.5) 15.0 (12.9 to 19.4) 13.0 (11.7 to 16.0) 0.011 Aspmintran Median (IQR) 17.7 (12.0 to 23.1) 20.1 (14.0 to 29.6) 37.0 (17.7 to 49.9) 18.5 (12.5 to 26.5) <0.001 Totalbilirubin Median (IQR) 11.5 (8.2 to 16.7) 10.5 (7.7 to 15.0) 13.1 (10.0 to 20.1) 11.2 (8.0 to 16.0) 0.003 Creatinine Median (IQR) 70.1 (57.3 to 86.2) 75.8 (62.8 to 92.4) 85.0 (67.5 to 116.5) 73.1 (60.3 to 88.0) <0.001 Creactprot Median (IQR) 2.0 (0.0 to 6.0) 3.0 (0.2 to 10.0) 6.0 (0.7 to 45.1) 2.3 (0.1 to 8.1) 0.039 Pneumonia No 373 (84.4) 131 (50.2) 3 (8.8) 507 (68.8) <0.001 Si 69 (15.6) 130 (49.8) 31 (91.2) 230 (31.2) Bronchitis No 329 (74.4) 188 (72.0) 32 (94.1) 549 (74.5) 0.021 Si 113 (25.6) 73 (28.0) 2 (5.9) 188 (25.5) Antiviralmedications No 222 (32.5) 81 (23.7) 20 (42.6) 323 (30.1) 0.002 Si 461 (67.5) 261 (76.3) 27 (57.4) 749 (69.9) Antibiotics No 569 (83.3) 174 (50.9) 21 (44.7) 764 (71.3) <0.001 Si 114 (16.7) 168 (49.1) 26 (55.3) 308 (28.7) Anticoagulant No 677 (99.1) 330 (96.5) 36 (76.6) 1043 (97.3) <0.001 Si 6 (0.9) 12 (3.5) 11 (23.4) 29 (2.7) Corticosteroids No 676 (99.0) 335 (98.0) 45 (95.7) 1056 (98.5) 0.124 Si 7 (1.0) 7 (2.0) 2 (4.3) 16 (1.5) Oxygentherapy No 673 (98.5) 318 (93.0) 17 (36.2) 1008 (94.0) <0.001 Si 10 (1.5) 24 (7.0) 30 (63.8) 64 (6.0) Mechanicalventilation No 681 (99.7) 335 (98.0) 29 (61.7) 1045 (97.5) <0.001 CAPÍTULO 2. ESTUDIOS DE COHORTES 31 2.5. ESTUDIO DE COHORTES EN R "Directbilirubin", "Creatinine", "Creactprot", "Pneumonia", "Bronchitis", "Antiviralmedications", "Antibiotics", "Anticoagulant", "Corticosteroids", "Oxygentherapy", "Mechanicalventilation" ) cohort19 %>% summary_factorlist(deps, exp, p=T, cont = "median", total_col = TRUE, column = TRUE, na_include = F) -> tb2 knitr::kable(tb2, caption = "\\label{table06}Características demográficas y clínicas de los pacientes, con COVID-19 confirmados por laboratorio, que habían sobrevivido (No muere) o fallecido (Muere) antes del 30 de abril de 2020.", align = c("l","r","c","c","c")) 38 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R Tabla 2.3: Características demográficas y clínicas de los pacientes, con COVID-19 confirmados por laboratorio, que habían sobrevivido (No muere) o fallecido (Muere) antes del 30 de abril de 2020. label levels No muere Muere Total p Age Median (IQR) 35.0 (24.0 to 50.0) 65.0 (57.8 to 77.8) 36.0 (24.0 to 50.0) <0.001 Agegroup 0-14 92 (8.7) 1 (5.0) 93 (8.7) <0.001 15-49 689 (65.5) 1 (5.0) 690 (64.4) 50-64 199 (18.9) 8 (40.0) 207 (19.3) 65 o mas 72 (6.8) 10 (50.0) 82 (7.6) Sex Mujer 582 (55.3) 6 (30.0) 588 (54.9) 0.043 Hombre 470 (44.7) 14 (70.0) 484 (45.1) Kazakhethnicity Kazaj 210 (20.0) 10 (50.0) 220 (20.5) 0.003 Otra 842 (80.0) 10 (50.0) 852 (79.5) BMI Median (IQR) 24.0 (21.0 to 29.0) 43.5 (33.8 to 53.2) 24.0 (21.0 to 29.0) 0.227 Daysym2add Median (IQR) 1.0 (1.0 to 3.0) 4.0 (3.0 to 8.0) 1.0 (1.0 to 3.0) <0.001 Daysinhospital Median (IQR) 16.0 (14.0 to 17.0) 4.0 (2.0 to 15.0) 16.0 (14.0 to 17.0) <0.001 Anycomorbidities No 637 (60.6) 4 (20.0) 641 (59.8) 0.001 Si 415 (39.4) 16 (80.0) 431 (40.2) Fever NoFiebre 651 (84.5) 2 (22.2) 653 (83.8) <0.001 Fiebre 119 (15.5) 7 (77.8) 126 (16.2) Cough No 766 (72.8) 12 (60.0) 778 (72.6) 0.308 Si 286 (27.2) 8 (40.0) 294 (27.4) Systolicpressure Median (IQR) 112.0 (110.0 to 120.0) 105.0 (100.0 to 130.0) 110.0 (110.0 to 120.0) 0.252 SPlowB Alto 664 (98.8) 11 (78.6) 675 (98.4) <0.001 Bajo 8 (1.2) 3 (21.4) 11 (1.6) Respiratoryrate Median (IQR) 18.0 (18.0 to 20.0) 23.0 (22.0 to 30.0) 18.0 (18.0 to 20.0) <0.001 CAPÍTULO 2. ESTUDIOS DE COHORTES 39 2.5. ESTUDIO DE COHORTES EN R label levels No muere Muere Total p RRhighB Bajo 678 (97.1) 8 (61.5) 686 (96.5) <0.001 Alto 20 (2.9) 5 (38.5) 25 (3.5) SpO2 Median (IQR) 98.0 (96.0 to 98.0) 86.0 (74.0 to 95.0) 97.0 (96.0 to 98.0) <0.001 Whitebloodcells Median (IQR) 6.3 (5.1 to 7.9) 7.0 (5.7 to 9.3) 6.3 (5.1 to 7.9) 0.086 WBClowB Alto 910 (91.0) 18 (100.0) 928 (91.2) 0.361 Bajo 90 (9.0) 0 (0.0) 90 (8.8) WBChighB Bajo 925 (92.5) 14 (77.8) 939 (92.2) 0.062 Alto 75 (7.5) 4 (22.2) 79 (7.8) NLR Median (IQR) 2.1 (1.4 to 3.1) 2.4 (1.1 to 6.1) 2.1 (1.4 to 3.2) 0.751 NLRhighB Bajo 384 (84.2) 7 (63.6) 391 (83.7) 0.158 Alto 72 (15.8) 4 (36.4) 76 (16.3) Haemoglobin Median (IQR) 137.0 (124.0 to 150.0) 131.0 (118.8 to 142.5) 136.5 (124.0 to 150.0) 0.200 Prothrombintime Median (IQR) 13.0 (11.7 to 16.0) 15.6 (12.6 to 18.5) 13.0 (11.7 to 16.0) 0.063 Aspmintran Median (IQR) 18.3 (12.4 to 25.9) 42.0 (26.0 to 70.0) 18.5 (12.5 to 26.5) <0.001 Directbilirubin Median (IQR) 2.6 (1.8 to 4.3) 10.0 (4.0 to 10.9) 2.7 (1.8 to 4.3) 0.012 Creatinine Median (IQR) 73.0 (60.0 to 88.0) 87.0 (75.8 to 162.7) 73.1 (60.3 to 88.0) 0.002 Creactprot Median (IQR) 2.0 (0.0 to 7.9) 8.3 (4.1 to 42.0) 2.3 (0.1 to 8.1) 0.077 Pneumonia No 504 (69.8) 3 (20.0) 507 (68.8) <0.001 Si 218 (30.2) 12 (80.0) 230 (31.2) Bronchitis No 535 (74.1) 14 (93.3) 549 (74.5) 0.164 Si 187 (25.9) 1 (6.7) 188 (25.5) Antiviralmedications No 313 (29.8) 10 (50.0) 323 (30.1) 0.087 Si 739 (70.2) 10 (50.0) 749 (69.9) Antibiotics No 753 (71.6) 11 (55.0) 764 (71.3) 0.170 40 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R label levels No muere Muere Total p Si 299 (28.4) 9 (45.0) 308 (28.7) Anticoagulant No 1028 (97.7) 15 (75.0) 1043 (97.3) <0.001 Si 24 (2.3) 5 (25.0) 29 (2.7) Corticosteroids No 1037 (98.6) 19 (95.0) 1056 (98.5) 0.708 Si 15 (1.4) 1 (5.0) 16 (1.5) Oxygentherapy No 1008 (95.8) 0 (0.0) 1008 (94.0) <0.001 Si 44 (4.2) 20 (100.0) 64 (6.0) Mechanicalventilation No 1043 (99.1) 2 (10.0) 1045 (97.5) <0.001 Si 9 (0.9) 18 (90.0) 27 (2.5) Las medidas de la Tabla 2.3 son calculadas para la población total y para cada una de los grupos de la variable dependiente Deaths. Además aparece calculado el p-valor resultante de aplicar la Prueba de Wilcoxon-Mann- Whitney, la Prueba de Chi-Cuadrado ( χ2 ) o la Prueba Exacta de Fisher en las que se comprueban si hay diferencias significativas entre los grupos de las variables. Mirando los p-valores podemos decir que existen diferencias significativas entre los grupos de las variables Age , Agegroup , Kazakhethnicity entre otras. Sin embargo parece que no existen diferencias significativas entre los grupos de niveles bajos de glóbulos blancos ( WBClowB ) o entre los grupos de la variable NLR . Si nos fijamos en enfermedades derivadas del COVID-19 como la neumonía o bronquitis vemos que la primera ha sido diagnosticada en el 80% de las personas fallecidas y la segunda en el 6.7%. Mirando este grupo de fallecidos, vemos que tener más de 65 años ( Agegroup ), ser hombre ( Sex ), tener patologías previas ( Anycomoridities ) o pertenecer a la etnia kazaja ( Kazakhethnicity ) podrían ser posibles factores de riesgo asociados a fallecer por COVID-19. Para comprobar las asociaciones vamos a realizar una regresión logística simple y múltiple. De neuvo la variable dependiente es Deaths. dependent4 = "Deaths" explanatory4 = c( "Age", "Sex", "Kazakhethnicity", CAPÍTULO 2. ESTUDIOS DE COHORTES 41 2.5. ESTUDIO DE COHORTES EN R "Anycomorbidities", "Whitebloodcells", "Platelets", "Fibrinogen", "Albumin", "AspmintranB", "DirectbilirubinB", "Glucose", "Bloodureanitrogen", "CreatinineB", "Sodium") explanatorymulti4 = c( "Age", "Sex") cohort19 %>% finalfit::finalfit(dependent4, explanatory4, explanatorymulti4) -> tb4 knitr::kable(tb4, caption = "\\label{table07}Regresión logística bivariada de factores asociados con la mortalidad por COVID-19 en Kazajstán.", align = "c") Tabla 2.4: Regresión logística bivariada de factores asociados con la mortalidad por COVID-19 en Kazajstán. Dependent: Deaths No muere Muere OR (univariable) OR (multivariable) 1 Age Mean (SD) 37.2 (17.9) 65.2 (20.1) 1.08 (1.05-1.11, p<0.001) 1.09 (1.06-1.13, p<0.001) 42 CAPÍTULO 2. ESTUDIOS DE COHORTES 2.5. ESTUDIO DE COHORTES EN R Dependent: Deaths No muere Muere OR (univariable) OR (multivariable) 18 Sex Mujer 582 (99.0) 6 (1.0) - - 17 Hombre 470 (97.1) 14 (2.9) 2.89 (1.15-8.21, p=0.031) 5.63 (2.06-17.57, p=0.001) 14 Kazakhethnicity Kazaj 210 (95.5) 10 (4.5) - - 15 Otra 842 (98.8) 10 (1.2) 0.25 (0.10-0.62, p=0.002) - 3 Anycomorbidities No 637 (99.4) 4 (0.6) - - 4 Si 415 (96.3) 16 (3.7) 6.14 (2.23-21.55, p=0.001) - 20 Whitebloodcells Mean (SD) 6.6 (2.3) 8.0 (3.4) 1.22 (1.03-1.42, p=0.014) - 16 Platelets Mean (SD) 247.8 (81.0) 190.4 (77.4) 0.99 (0.98-1.00, p=0.002) - 12 Fibrinogen Mean (SD) 1641.8 (8088.0) 5.7 (2.6) 1.00 (NA-1.00, p=0.758) - 2 Albumin Mean (SD) 52.3 (246.5) 27.0 (16.6) 0.93 (0.88-0.99, p=0.004) - 5 AspmintranB 0 996 (99.1) 9 (0.9) - - 6 1 56 (83.6) 11 (16.4) 21.74 (8.66-56.03, p<0.001) - 10 DirectbilirubinB 0 990 (98.3) 17 (1.7) - - 11 1 62 (95.4) 3 (4.6) 2.82 (0.65-8.67, p=0.105) - 13 Glucose Mean (SD) 5.6 (4.1) 7.3 (3.7) 1.04 (0.97-1.09, p=0.132) - 7 Bloodureanitrogen Mean (SD) 203.5 (2925.6) 11.6 (10.4) 1.00 (NA-1.00, p=0.889) - 8 CreatinineB 0 1015 (98.5) 15 (1.5) - - 9 1 37 (88.1) 5 (11.9) 9.14 (2.85-25.05, p<0.001) - CAPÍTULO 2. ESTUDIOS DE COHORTES 43 2.5. ESTUDIO DE COHORTES EN R Dependent: Deaths No muere Muere OR (univariable) OR (multivariable) 19 Sodium Mean (SD) 137.7 (21.1) 136.6 (4.2) 1.00 (0.98-1.06, p=0.884) - Mirando la Tabla 2.4, en el análisis de regresión logística simple, las variables significativas son la mayor edad ( Age ), ser hombre ( Sex ), pertenecer a otra etnia ( Kazakhethnicity ), tener patologías previas ( Anycomorbidities ), altos niveles de aspartato transaminasa ( AspmintranB ), creatinina ( CreatinineB ), glóbulos blancos en sangre ( Whitebloodcells ) y neutrófilos y linfocitos ( NLR ), bajos niveles de plaquetas ( Platelets ) y albúmina ( Albumin ) están asociados con mortalidad por COVID-19. En el análisis múltiple los factores asociados son la edad alta (Age) y ser hombre (Sex). En general, se puede concluir diciendo que los factores de riesgo asociados a morir o enfermar gravemente por COVID-19 son parecidos, entre ellos se encuentran la edad avanzada y pertenecer al sexo masculino, además de otros factores como no ser de etnia kazaja, tener patologías previas o niveles altos o bajos de proteínas y enzimas en sangre ya mencionadas en el estudio. 44 CAPÍTULO 2. ESTUDIOS DE COHORTES Capítulo 3 Estudios de caso-control Los estudios de caso-control son estudios observacionales analíticos. Con el fin de cumplir su objetivo principal que es esclarecer la relación que hay entre el factor de exposición y la enfermedad de interés, la estrategia consiste en la selección de dos grupos de individuos, el grupo de casos (que presentan la enfermedad) y el grupo de controles (que no presentan la enfermedad). Este estudio se hace de manera retrospectiva, por ejemplo, si lo que se quiere estudiar es la relación entre el consumo del alcohol y la aparición de cáncer de esófago, se medirá el consumo de alcohol en el pasado de ambos grupos, luego se calcularán las medidas pertinentes y, por último, se hará la comparación entre casos (enfermos de cáncer de esófago en la actualidad) y controles (no enfermos de cáncer de esófago en la actualidad) para esclarecer el grado de asociación entre el consumo de alcohol y el cáncer de esófago. Por este motivo, a estos estudios se les conocía como estudios retrospectivos, porque la información de la exposición se recaba posteriormente a la aparición de la enfermedad. Aún así, pueden existir estudios de caso-control prospectivos en los que se recoge la información de la exposición a la vez que se diagnostican los casos y se seleccionan los controles. Una manera fácil de poder comprender el funcionamiento de este tipo de estudios es considerar la existencia de una población base, a partir de la cual obtenemos los casos y se muestrean personas con riesgo de padecer la enfermedad, que son los controles. Los casos aportan información de la exposición de personas enfermas y los controles la aportan sobre personas no enfermas (Royo-Bordonada et al., 2009). Para poder trabajar con los datos de manera correcta, se crean tablas de contingencia en las que se compararán la proporción de individuos expuestos en casos y controles (Tabla 3.1), es decir, lo que realmente calculamos es el Odds Ratio (Ecuación 1.7) (Henquin, 2013). 45 Tabla 3.1: Tabla de contingencia estudios de caso control. Fuente: (Henquin, 2013). Grupo A (casos) Grupo B (controles) Expuestos a b No expuestos c d Total a + c b + d Proporción de expuestos a a+c b b+d Existen diferentes tipos de estudios de caso-control. Unos los abordaremos a lo largo de este capítulo y otros solo los mencionaremos ya que se estudiarán en profundidad en el capítulo siguiente porque son híbridos entre los estudios de cohortes y los estudios de caso-control. El estudio de caso-control más básico es el que se ha ido explicando pero hay otros 3 tipos (Gallego Iborra et al., 2012): Estudios de caso-control emparejados: los controles se escogen en función de los casos. Un control debe ser igual a un caso en ciertas características (edad, sexo, nivel socioeconómico, etc.) que se determinan previamente, este es el proceso de emparejamiento o matching en el que se profundizará más en la Sección 3.3.1. Estudios de caso-cohorte: también se conocen como estudios de caso-control anidados. Nace de la indagación en la estrecha relación entre los estudios de cohorte y los de caso-control. Estudios caso-caso: también conocidos como estudios de caso-control alternantes o casecrossover. Cada caso es su propio control, el objetivo principal de este tipo de estudio es conocer si el sujeto observado estuvo haciendo algo inusual justo antes del inicio de la enfermedad de interés y, por ello, es necesario hacer la comparación del individuo con él mismo en el momento de exposición inmediato antes del desarrollo de la enfermedad y en momentos de exposición anteriores. Los estudios de caso-control han sido de gran utilidad sobre todo para la investigación de la influencia de los factores de riesgo en enfermedades crónicas como son el cáncer, enfermedades cardiovasculares o algunas enfermedades pulmonares, aunque cada vez se usan más en estudios de enfermedades transmisibles por ejemplo (Olsen et al., 2010). 46 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.1. DISEÑO DEL ESTUDIO 3.1. Diseño del estudio Al igual que en el resto de estudios epidemiológicos se requiere una planificación clara, así como determinar los objetivos y las hipótesis que se van a estudiar, detallar la metodología del estudio o preparar diferentes opciones en el caso de que aparezcan problemas. Dentro de estos pasos que se determinan para poder llevar a cabo un buen estudio se encuentra la definición de la población base. La población base se corresponde con la población de la que provienen los casos y, a partir de la cual han de obtenerse los controles (Gómez-Gómez et al., 2003). Los controles deben representar a la población en la que se originan los casos. En el mecanismo del estudio si la población base es primaria se definirá primero la población a partir de la que se van a generar los casos, luego se seleccionan estos y de los individuos no enfermos pertenecientes a la población base se seleccionan los controles. Sin embargo, cuando los casos se escogen antes de definir la población base, más tarde se intentará identificar esta población de la que proceden para identificar a los controles, en este caso, la población base es secundaria. Los estudios de caso-control de base primaria son los estudios de caso-cohorte o estudios de caso-control anidados que ya han sido definidos previamente. Aunque, en general el esquema siempre acaba siendo el mismo, tal y como aparece en la Figura 3.1. Figura 3.1: Esquema básico de los estudios de caso-control de base primaria. CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 47 3.5. ESTUDIO DE CASO-CONTROL EN R ## $ diarrdate : Date, format: NA "1998-01-25" ... ## $ vomit : num 0 0 0 0 1 0 1 0 1 0 ... ## $ stoolno : num 20 18 10 20 NA 5 3 8 20 10 ... ## $hus :num 0100000100... ## $ duration : num 4 5 3 7 5 8 2 28 5 4 ... ## $ travel : num 1 0 0 0 1 1 0 0 1 0 ... ## $ animal : num 1 0 0 1 0 0 0 0 0 0 ... ## $ pets : num 1 0 1 1 1 0 0 1 0 1 ... ## $ townwat : num 0 1 0 0 0 1 1 0 0 0 ... ## $ watersport: num 0 1 0 1 0 1 0 0 1 0 ... ## $ chicken : num 0 0 0 0 1 0 1 1 1 0 ... ## $ eggs : num 0 1 1 1 1 1 1 1 1 1 ... ## $ spinach : num 0 0 1 1 1 1 1 1 0 0 ... ## $ lettuce : num 1 0 1 1 1 1 1 1 1 1 ... ## $ cucumber : num 1 0 1 1 1 1 1 1 1 1 ... ## $ milkraw : num 0 1 0 1 0 0 1 1 1 1 ... ## $ farmlive : num 0 1 0 0 1 0 0 1 1 1 ... ## $ milkbottle: num 1 0 0 1 1 1 0 0 1 1 ... ## - attr(*, "spec")= ## .. cols( ## .. ID = col_double(), ## .. status = col_factor(levels = NULL, ordered = FALSE, include_na = FALSE), ## .. matchid = col_double(), ## .. agematch = col_factor(levels = NULL, ordered = FALSE, include_na = FALSE), ## .. age = col_double(), ## .. sex = col_factor(levels = NULL, ordered = FALSE, include_na = FALSE), ## .. diarrhoea = col_double(), ## .. diarrdate = col_date(format = "%d/%m/%Y"), ## .. vomit = col_double(), ## .. stoolno = col_double(), ## .. hus = col_double(), ## .. duration = col_double(), ## .. travel = col_double(), ## .. animal = col_double(), 54 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R ## .. pets = col_double(), ## .. townwat = col_double(), ## .. watersport = col_double(), ## .. chicken = col_double(), ## .. eggs = col_double(), ## .. spinach = col_double(), ## .. lettuce = col_double(), ## .. cucumber = col_double(), ## .. milkraw = col_double(), ## .. farmlive = col_double(), ## .. milkbottle = col_double() ## .. ) De este último resumen podemos sacar la Tabla 3.5 y así tener una idea de las variables con las que trabajamos para pensar en el tratamiento que hay que darles. Tabla 3.5: Características de las variables recogidas en el estudio de caso-control de la infección por Escherichia Coli. Nombre de la variable Explicación Tipo de variable ID Número de identificación Numérico status Indica si es un CASO o un CONTROL Factor: CASE (caso), CONTROL (control) matchid Número de identificación de los casos y controles pareados individualmente Numérico agematch Grupos de edad para el pareado por frecuencia Factor: 0-9, 10-64, 65+ age Edad del sujeto observado Numérico sex Sexo del sujeto observado Factor: M (hombre), F (mujer) diarrhoea Registro de si los casos tuvieron diarrea Numérico: 0 (no tuvo), 1 (sí tuvo) diarrdate Fecha en la que los casos tuvieron la diarrea Fecha CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 55 3.5. ESTUDIO DE CASO-CONTROL EN R Nombre de la variable Explicación Tipo de variable vomit Registro de si los casos vomitaron Numérico: 0 (no vomitó), 1 (sí vomitó) stoolno Número máximo de deposiciones sueltas en 24 horas Numérico hus Registro de si los casos desarrollaron síndrome urémico hemolítico Numérico: 0 (no lo desarrolló), 1 (sí lo desarrolló) duration Duración de la enfermedad en los casos Numérico travel Registro de si el sujeto observado viajó 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no viajó), 1 (sí viajó) animal Registro de si el sujeto observado ha estado en contacto con animales 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) pets Registro de si el sujeto observado ha estado en contacto con mascotas 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) townwat Registro de si el sujeto observado bebió agua del pueblo 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) watersport Registro de si el sujeto observado hizo deportes de agua 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) 56 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R Nombre de la variable Explicación Tipo de variable chicken Registro de si el sujeto observado ingirió pollo 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) eggs Registro de si el sujeto observado ingirió huevos 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) spinach Registro de si el sujeto observado ingirió espinacas 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) lettuce Registro de si el sujeto observado ingirió lechuga 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) cucumber Registro de si el sujeto observado ingirió pepino 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) milkraw Registro de si el sujeto observado ingirió leche cruda 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) farmlive Registro de si el sujeto observado vive en una granja Numérico: 0 (no), 1 (sí) milkbottle Registro de si el sujeto observado ingirió leche embotellada 7 días antes de caer enfermo o ser entrevistado Numérico: 0 (no), 1 (sí) A continuación, vamos a crear una variable nueva de tipo factor cuyo nombre será case y guardará 0 o 1 en función de si el sujeto es un control o un caso, respectivamente. También CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 57 3.5. ESTUDIO DE CASO-CONTROL EN R vamos a convertir en factor todas las variables cuyos valores numéricos sean 0 o 1 y le daremos la etiqueta No o Sí, respectivamente. # Primero condicionamos 0 para control y 1 para caso shigatoxin$case <- ifelse(shigatoxin$status == "CONTROL",0,1) # La convertimos en factor con las correspondientes etiquetas (caso o control) # según sea 1 o 0 shigatoxin$case <- factor(shigatoxin$case, levels = c(0,1), labels = c("Control","Caso")) # Las variables cuyos valores son 0 o 1 son las variables 7, 9 y de la 11 a la 25 shigatoxin[c(7,9,11:25)] <- lapply(shigatoxin[c(7,9,11:25)], factor, levels = c(0,1), labels = c("No","Si")) # Damos las correspondientes etiquetas a la variable agematch shigatoxin$agematch <- factor(shigatoxin$agematch, levels = c("0-9","10-64","65+"), labels = c("0-9","10-64","65 o más")) 3.5.2. Análisis descriptivo En los estudios de caso-control es importante hacer un buen análisis descriptivo para asegurarnos que los casos y los controles son similares. Se puede hacer la comparación entre casos y controles creando tablas de proporciones que nos dejen comprobar qué proporción de casos y controles cumplieron algunas de las características de interés como por ejemplo si tuvieron vómitos, diarrea o síndrome urémico hemolítico. # Vamos a comparar las talbas de proporciones que resultan de los síntomas # más graves y significativos de la infección knitr::kable(prop.table(table(shigatoxin$vomit, shigatoxin$case)), caption = "\\label{table013} Tabla de frecuencias relativas con respecto a la variable 58 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R vomit en casos y controles.", align = "c") Tabla 3.6: Tabla de frecuencias relativas con respecto a la variable vomit en casos y controles. Control Caso No 0.5 0.26 Si 0.0 0.24 knitr::kable(prop.table(table(shigatoxin$diarrhoea, shigatoxin$case)), caption = "\\label{table014} Tabla de frecuencias relativas con respecto a la variable diarrhoea en casos y controles.", align = "c") Tabla 3.7: Tabla de frecuencias relativas con respecto a la variable diarrhoea en casos y controles. Control Caso No 0.5 0.0 Si 0.0 0.5 knitr::kable(prop.table(table(shigatoxin$hus, shigatoxin$case)), caption = "\\label{table015} Tabla de frecuencias relativas con respecto a la variable hus en casos y controles.", align = "c") Tabla 3.8: Tabla de frecuencias relativas con respecto a la variable hus en casos y controles. Control Caso No 0.5 0.42 Si 0.0 0.08 Los controles no han presentado ningún síntoma que se crea asociado con la infección, sin CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 59 3.5. ESTUDIO DE CASO-CONTROL EN R embargo, en los casos si se han manifestado todos estos síntomas. La diarrea ha estado presente en todos los casos, seguida de los vómitos que los han presentado algo menos de la mitad de los casos y por último, una minoría de casos ha llegado a tener el síndrome urémico hemolítico. library(ggplot2) ggplot(shigatoxin, aes(y=sex, color = agematch, fill = agematch)) + geom_bar() + facet_grid(agematch~case) + labs(title = "Comparación de sexo y grupos de edad en casos y controles") Control Caso 0−9 10−64 65 o más 02460246 M F M F M F count sex agematch 0−9 10−64 65 o más Comparación de sexo y grupos de edad en casos y controles Figura 3.2: Gráfico comparador de variables de emparejamiento en casos y controles. Como se puede apreciar en el gráfico se han incluido individuos al estudio con características muy similares en cuanto a edad y sexo, por tanto nos está dejando ver que el emparejamiento está bien hecho. Si nos fijamos este, el número de mujeres de 0 a 9 años incluidas en el estudio es parecido en casos y controles, y esto mismo ocurre en los hombres pertenecientes al mismo grupo de edad. En el grupo de 10 a 64 años hay más disparidad entre casos y controles pero aún así son muy similares, y en el grupo de 65 años o más ocurre lo mismo que en el primero, el número de hombres y mujeres seleccionados dentro de este grupo de edad es muy similar en casos y controles. 60 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R Para comprobar que realmente es cierto lo que el gráfico nos está mostrando podríamos hacer el test de Chi-Cuadrado de independencia. Para ello hay que agrupar los datos en una tabla de frecuencias absolutas por sexo y papel que tienen en el estudio y hacer el test con la función chisq.test. El contraste de hipótesis que se quiere resolver es:      H0:No hay diferencias significativas entre casos y controles según el sexo H1:Hay diferencias significativas entre casos y controles según el sexo chisq.test(table(shigatoxin$sex, shigatoxin$case)) ## ## Pearson's Chi-squared test with Yates'continuity correction ## ## data: table(shigatoxin$sex, shigatoxin$case) ## X-squared = 0.32206, df = 1, p-value = 0.5704 El p-valor obtenido es 0.57, y por tanto, podemos concluir diciendo que no existen diferencias significativas entre los casos y controles según el sexo, es decir, se encuentran en la misma proporción en el estudio, lo que nos puede asegurar que a la hora de emparejar los casos todos van a tener un control con características de sexo muy similares. Podemos hacer lo mismo con la edad pero aplicando el Test Exacto de Fisher ya que hay algunas frecuencias menores a 5. El contraste a resolver es:      H0:No hay diferencias significativas entre casos y controles según los grupos de edad H1:Hay diferencias significativas entre casos y controles según los grupos de edad fisher.test(table(shigatoxin$agematch, shigatoxin$case)) ## ## Fisher's Exact Test for Count Data ## ## data: table(shigatoxin$agematch, shigatoxin$case) ## p-value = 1 ## alternative hypothesis: two.sided Obtenemos un p-valor igual a 1 y concluimos al igual que en el caso del sexo, no existen diferencias significativas entre casos y controles con respecto a la edad. CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 61 3.5. ESTUDIO DE CASO-CONTROL EN R Ya podemos pasar a hacer un análisis más preciso sobre la asociación entre el evento de interés (variable case) y algún factor de exposición (variable travel entre otras). 3.5.3. Análisis inferencial y cálculo de medidas de asociación El cálculo de la odds ratio es una de las partes más importantes del análisis de los estudios de caso-control. Para su cálculo es importante crear tablas de contingencia y de ahí sacar su valor como ya se explicó en la Sección 1.4.2.2. Dado que en este estudio hay varias variables que son posibles factores de riesgo podríamos plantear hacer un análisis univariante de algunas variables con la variable evento final y, después hacer un análisis multivariante con todas las variables que son consideradas de riesgo y así comprobar su efecto sobre la variable evento final. 3.5.3.1. Análisis univariante Una de las variables que nos puede hacer sospechar más sobre la asociación directa con la infección es la variable travel . Podemos asociar el haber viajado con el contraer la infección, es por ello por lo que vamos a hacer el primer análisis para estudiar la asociación de la variable travel con la variable case. Es importante tener en cuenta que estamos trabajando con un estudio emparejado por frecuencias de edad, por tanto las tablas de contingencia deberían de hacerse teniendo en cuenta este método. Para realizar la tabla de contingencia a partir de tres variables, volvemos a usar la función table. # Tabla de contingencia de 3 vías table(shigatoxin$travel, shigatoxin$case, shigatoxin$agematch) ## , , = 0-9 ## ## ## Control Caso ## No 2 2 ## Si 1 1 ## ## , , = 10-64 ## 62 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R ## ## Control Caso ## No 5 8 ## Si 6 4 ## ## , , = 65 o más ## ## ## Control Caso ## No 9 8 ## Si 2 2 Como vemos salen tres tablas de contingencia separadas según el grupo de edad, por tanto, estamos seguros de estar manteniendo la técnica de emparejamiento por frecuencia intacta a la hora de dar resultados. Vamos a pasar al cálculo de la odds ratio (Ecuación 1.7), para ello usaremos la librería epiR (Stevenson et al., 2021) que nos proporciona algunas funciones como epi.2by2 para realizar un buen análisis epidemiológico. Esta función hace un resumen de las medidas de asociación así como su cálculo e intervalo de confianza en crudo y por el método ajustado de Mantel-Haenszel así como el cálculo del valor de la prueba Chi-Cuadrado de Homogeneidad. Si pasamos como argumento method = "case.control devolverá el resumen adaptado al estudio de caso-control. library(epiR) epicc <- epi.2by2(table(shigatoxin$travel, shigatoxin$case, shigatoxin$agematch), method = "case.control") # Tabla con valores de prevalencia y odds ratio knitr::kable(epicc[["tab"]], caption = "\\label{table016} Prevalencia y odds de la asociación entre travel y case.", align = "c") CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 63 3.5. ESTUDIO DE CASO-CONTROL EN R var est lower upper Attrib fraction (est) in exposed (crude%) 0.952 0.803 0.988 Attrib fraction (est) in population (crude%) * 0.762 0.702 0.929 # Prueba de M-H de Homogeneidad knitr::kable(t11[["massoc.detail"]][["chi2.mh"]], digits = 3, caption = "\\label{table023}Prueba de Mantel-Haenszel de Homogeneidad del OR", align = "c") Tabla 3.16: Prueba de Mantel-Haenszel de Homogeneidad del OR test.statistic df p.value.1s p.value.2s 16.182 1 0 0 # Prueba de M-H del OR ajustado a 1 knitr::kable(t11[["massoc.detail"]][["OR.homog.woolf"]], digits = 3, caption = "\\label{table024}Prueba de Mantel-Haenszel del OR ajustado a 1", align = "c") Tabla 3.17: Prueba de Mantel-Haenszel del OR ajustado a 1 test.statistic df p.value 1.041 1 0.307 Asociación entre farmlive ycase estratificando por milkraw: ## milkraw No Si ## farmlive case ## No Control 14 3 ## Caso 3 5 ## Si Control 6 2 ## Caso 1 16 70 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R Test Chi-Cuadrado de independencia: ## Call: xtabs(formula = ~farmlive + case + milkraw, data = shigatoxin) ## Number of cases in table: 50 ## Number of factors: 3 ## Test for independence of all factors: ## Chisq = 35.56, df = 4, p-value = 3.557e-07 Los tres factores son independientes. Tabla 3.18: Prevalencia y Odds Ratio de laasociación entre farmlive y case estratificando por milkraw Outcome + Outcome - Total Prevalence * Odds Exposed + 17 8 25 68 2.125 Exposed - 8 17 25 32 0.471 Total 25 25 50 50 1.000 knitr::kable(t22[["massoc.summary"]], digits = 3, align = "c", caption = "\\label{table026}Tabla resumen de la asociación entre farmlive y case estratificando con milkraw") Tabla 3.19: Tabla resumen de la asociación entre farmlive y case estratificando con milkraw var est lower upper Odds ratio (crude) 4.516 1.376 14.820 Odds ratio (M-H) 2.141 0.494 9.288 Odds ratio (crude:M-H) 2.109 NA NA Attrib fraction (est) in exposed (crude%) 0.779 0.285 0.931 Attrib fraction (est) in population (crude%) * 0.529 0.391 0.661 # Prueba de M-H de Homogeneidad knitr::kable(t22[["massoc.detail"]][["chi2.mh"]], digits = 3, CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 71 3.5. ESTUDIO DE CASO-CONTROL EN R caption = "\\label{table027}Prueba de Mantel-Haenszel de Homogeneidad del OR", align = "c") Tabla 3.20: Prueba de Mantel-Haenszel de Homogeneidad del OR test.statistic df p.value.1s p.value.2s 1.039 1 0.154 0.308 # Prueba de M-H del OR ajustado a 1 knitr::kable(t22[["massoc.detail"]][["OR.homog.woolf"]], digits = 3, caption = "\\label{table028}Prueba de Mantel-Haenszel del OR ajustado a 1", align = "c") Tabla 3.21: Prueba de Mantel-Haenszel del OR ajustado a 1 test.statistic df p.value 1.041 1 0.307 Si nos fijamos, cuando estudiamos la asociación entre milkraw y case usando con variable estratificadora farmlive , existe diferencia entre el OR crudo y el OR combinado con Mantel- Haenszel. Esto nos indica que farmlive es una variable confundidora en el estudio de la asociación entre el consumo de leche cruda y caer enfermo por la infección. La asociación entre las variables case y milkraw es fuerte, y por tanto, se podría determinar que el consumo de leche cruda es un factor de riesgo para contraer la infección por la bacteria Escherichia Coli. La asociación entre las variables case y farmlive es fuerte por tanto, vivir en una granja es un factor de riesgo para contraer la infección por la bacteria Escherichia Coli. No hay diferencias significativas entre el OR estratificado (OR híbrido) y el no estratificado (OR crudo), por tanto, la variable milkraw no parece ser un factor de confusión. 72 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R 3.5.4. Análisis del estudio a partir del emparejamiento individual La variable matchid guarda el número de identificación de cada caso con su control, es decir, es la variable a tener en cuenta cuando vayamos a hacer un análisis de la asociación entre un factor de exposición y la enfermedad si queremos trabajar con un estudio en el que los casos y controles están pareados individualmente. En estos casos, lo que se hace es un análisis de Regresión Logística Condicionada. Las tablas de contingencia se disponen de manera diferente, tal y como aparece en la tabla 3.22. Tabla 3.22: Tabla de contingencia en estudios caso-control pareados individualmente. Controles Expuestos No expuestos Casos Expuestos e f e + f No expuestos g h g + h e + g f + h e + f + g + h Donde la Odds Ratio ahora es: OR =f g La Regresión Logística Condicionada es una técnica que se aplica cuando disponemos de un conjunto de datos en el que los individuos se encuentran emparejados. El objetivo principal es estimar la asociación de la variable dependiente con la exposición en cada estrato y controlar los posibles factores de confusión (Pallarés Mestre, 2016). La ventaja principal es el aumento de la eficiencia predictiva, mientras que la mayor desventaja es el coste de establecer los emparejamientos y la pérdida de información por descartar algunos controles que no son válidos para emparejar con un caso (Pallarés Mestre, 2016). En este procedimiento se hace la estimación de la máxima verosimilitud condicional, que solo estima los efectos de las variables de interés y no de las variables que definen los estratos (Pallarés Mestre, 2016). Vamos a realizar la Regresión Logística Condicionada sobre las variables case y milkraw . En este caso, como el pareamiento se hace de manera individual, el resto de variables van a estar controladas en el caso de ser confundidoras (como ocurría con farmlive ). Para poder aplicar esta técnica es necesario que la variable objetivo case sea de tipo numérico y la variable de emparejamiento individual matchid sea de tipo factor. CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 73 3.5. ESTUDIO DE CASO-CONTROL EN R shigatoxin$case <- as.numeric(shigatoxin$case) shigatoxin$matchid <- as.factor(shigatoxin$matchid) Ahora para hacer la regresión logística vamos a cargar la librería survival (Therneau, 2020) y a usar la función clogit. Le pasaremos la fórmula de la regresión condicionada que vamos a hacer dando como variable de estratificación la variable matchid. library(survival) logit <- clogit(case ~milkraw +strata(matchid), data = shigatoxin) summary(logit) ## Call: ## coxph(formula = Surv(rep(1, 50L), case) ~ milkraw + strata(matchid), ## data = shigatoxin, method = "exact") ## ## n= 50, number of events= 25 ## ## coef exp(coef) se(coef) z Pr(>|z|) ## milkrawSi 2.833 17.000 1.029 2.753 0.0059 ** ## --- ## Signif. codes: 0 '***'0.001 '**'0.01 '*'0.05 '.'0.1 ' ' 1 ## ## exp(coef) exp(-coef) lower .95 upper .95 ## milkrawSi 17 0.05882 2.262 127.7 ## ## Concordance= 0.82 (se = 0.079 ) ## Likelihood ratio test= 17.23 on 1 df, p=3e-05 ## Wald test = 7.58 on 1 df, p=0.006 ## Score (logrank) test = 14.22 on 1 df, p=2e-04 La Odds Ratio en esta ocasión es 17, lo que significa que si una persona consume leche cruda la probabilidad de convertirse en un caso (enfermo) se multiplican por 17. El p-valor 0.0059 es resultado de hacer el contraste de significación de la variable milkraw en el estudio, al ser menor a 0.05 (nivel de significación) no podemos considerar nulo el consumir leche cruda, y por tanto, si podemos analizar su OR. 74 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 3.5. ESTUDIO DE CASO-CONTROL EN R Este análisis se puede hacer con más variables. Vamos a hacerlo ahora con las variables farmlive , milkbottle y watersport que son las que tienen un OR más grande en la tabla del análisis multivariante. logit <- clogit(case~milkbottle +watersport +farmlive +strata(matchid), data = shigatoxin) summary(logit) ## Call: ## coxph(formula = Surv(rep(1, 50L), case) ~ milkbottle + watersport + ## farmlive + strata(matchid), data = shigatoxin, method = "exact") ## ## n= 50, number of events= 25 ## ## coef exp(coef) se(coef) z Pr(>|z|) ## milkbottleSi 1.3989 4.0508 1.1871 1.178 0.2386 ## watersportSi 0.9107 2.4862 0.8059 1.130 0.2584 ## farmliveSi 1.3255 3.7641 0.6688 1.982 0.0475 * ## --- ## Signif. codes: 0 '***'0.001 '**'0.01 '*'0.05 '.'0.1 ' ' 1 ## ## exp(coef) exp(-coef) lower .95 upper .95 ## milkbottleSi 4.051 0.2469 0.3954 41.50 ## watersportSi 2.486 0.4022 0.5124 12.06 ## farmliveSi 3.764 0.2657 1.0147 13.96 ## ## Concordance= 0.7 (se = 0.12 ) ## Likelihood ratio test= 8.51 on 3 df, p=0.04 ## Wald test = 5.84 on 3 df, p=0.1 ## Score (logrank) test = 7.41 on 3 df, p=0.06 En este caso, las variables milkbottle y watersport no son significativas y no es necesario valorar su OR. La variable farmlive si es significativa aunque tenga un p-valor cercano a 0.05 (si subiéramos el nivel de significación a 0.1 dejaría de ser significativa) y su OR nos dice que si una persona vive en una granja la probabilidad de convertirse en un caso (enfermo) es 3.76 veces mayor. CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL 75 3.5. ESTUDIO DE CASO-CONTROL EN R Como vemos, por el análisis del estudio pareado individualmente hemos llegado a las mismas conclusiones que con el análisis pareado por frecuencias de edad y además, hemos controlado las variables confundidoras. 76 CAPÍTULO 3. ESTUDIOS DE CASO-CONTROL Capítulo 4 Estudios de cohortes frente a estudios de caso-control Tras la introducción y profundización en los estudios de cohortes y de caso-control se pueden analizar algunas de las ventajas e inconvenientes de los estudios observacionales. De ellos, se puede destacar su practicidad o facilidad para realizarlos ya que el sujeto solo ha de participar en las entrevistas que se le realicen y el investigador solo tiene que observar los sucesos que se van desencadenando ya que no debe alterar la exposición. También los resultados que se obtienen se pueden extrapolar a la población general, lo que es de gran ayuda para establecer metas de salud pública. Una de las principales desventajas de estos estudios es el poco control que existe sobre los factores de confusión si no se usan técnicas para controlarlos como, por ejemplo, la estratificación o el emparejamiento en los estudios de caso-control. Además, este tipo de estudios cuentan con la debilidad de que es prácticamente imposible repetirlos como experimento, por ello resulta complicado poder hacer comparaciones de estudios observacionales entre sí. Los estudios de cohortes y caso-control tienen algunas características en común (como las que acabamos de mencionar ya que son estudios observacionales) pero también poseen características que los diferencian y hacen que sean preferibles para según qué situaciones. A continuación vamos a estudiar las ventajas (en verde) y desventajas (en rojo) de los estudios de cohortes frente a los estudios de caso-control en la Tabla 4.1. 77 Tabla 4.1: Ventajas y desventajas de los estudios de cohortes frente a caso-control Cohortes Caso-control Estiman la incidencia No estiman la incidencia directamente, solo devuelven medidas de efecto Son más costosos Son ligeramente menos costosos y más sencillos desde el punto de vista logístico Posibilitan la medición de la exposición de forma repetida en el tiempo No es posible actualizar la medida de la exposición porque los datos se recogen una vez esta ha finalizado Ayudan a establecer la relación temporal entre la exposición y el evento de interés Es difícil establecer la relación temporal entre la exposición y el evento de interés Tienen un riesgo más alto de perder sujetos durante el seguimiento y por ello perder validez No tanto riesgo de perder sujetos y además no tiene limitaciones éticas Facilitan el estudio de exposiciones infrecuentes No es fácil incluir exposiciones infrecuentes No son útiles para estudios sobre enfermedades raras Son útiles para estudios de enfermedades raras y enfermedades con largos períodos de latencia Permiten el estudio de más de un evento o enfermedad Solo permiten el estudio de un solo evento de interés Viendo las debilidades y fortalezas de cada tipo de estudio podemos concluir diciendo que son estudios complementarios. Los estudios de cohortes proporcionan una población bien definida en la que identificar a los casos de forma no sesgada y con información disponible de la secuencia temporal del seguimiento (Royo-Bordonada et al., 2009). Los estudios de caso-control hacen especial hincapié en los individuos que aportan información de interés sobre la exposición y además son menos costosos. Es por esto por lo que existen diseños híbridos como los estudios de caso-cohorte o los estudios de caso-control anidados en una cohorte. 78 CAPÍTULO 4. ESTUDIOS DE COHORTES FRENTE A ESTUDIOS DE CASO-CONTROL 4.1. DISEÑOS HÍBRIDOS 4.1. Diseños híbridos Los estudios de caso-control que pretenden maximizar la información obtenida a partir de los estudios de cohortes minimizando el coste. Los dos tipos de estudios híbridos más importantes son los estudios caso-cohorte y los estudios caso-control anidados en una cohorte. A menudo se recurre a ellos cuando los estudios de cohortes o de caso-control reúnen procedimientos muy costosos o muestras muy difíciles de obtener (Royo-Bordonada et al., 2009). El estudio de caso-control anidado en una cohorte parte de una cohorte inicial amplia (base primaria) y una vez definido se establece el diseño por el que se van a seleccionar casos y controles a la vez. Es común que en este tipo de estudios se recurra a la técnica del emparejamiento para controlar el efecto de las variables confundidoras debido al método de selección de los sujetos que se van a observar. A diferencia de los estudios de caso-control clásicos, los anidados suelen ser estudios prospectivos (Molina Arias, 2016). Los estudios caso-cohorte también parten de una cohorte inicial amplia a partir de la que se selecciona una sub-cohorte de la que saldrán los casos. En este tipo no se seleccionan casos y controles a la vez sino que, cuando ya se han seleccionado los casos, se seleccionan los controles procedentes de la cohorte inicial y que representan a la población en riesgo de enfermar pero que no han enfermado. CAPÍTULO 4. ESTUDIOS DE COHORTES FRENTE A ESTUDIOS DE CASO-CONTROL 79 A.2. CORRELACIONES ENTRE LAS CARACTERÍSTICAS DE LABORATORIO # Se pasa a un gráfico para verlo mejor con la función cor_plot col <- ggpubr::get_palette(c("#00468BFF","white","#AD002AFF"), 20) cor_inftri %>% rstatix::cor_plot( type = "lower", palette = col, font.label = list( size = 6, color = "black", style = "bold" ) ) −1 −0.9−0.8−0.7−0.6−0.5−0.4−0.3−0.2−0.100.10.20.30.40.50.60.70.80.91 Lymphocyte Monocytes Prothrombin_time Fibrinogen C_reactive_protein Platelets Sodium Potassium Eosinophils Albumin Calcium NLR White_blood_cells Neutrophil Glucose Blood_urea_nitrogen Creatinine Alanine_aminotransferase Aspartate_aminotransferase Haemoglobin Total_bilirubin Monocytes Prothrombin_time Fibrinogen C_reactive_protein Platelets Sodium Potassium Eosinophils Albumin Calcium NLR White_blood_cells Neutrophil Glucose Blood_urea_nitrogen Creatinine Alanine_aminotransferase Aspartate_aminotransferase Haemoglobin Total_bilirubin Direct_bilirubin Figura A.2: Matriz de correlaciones de síntomas de laboratorio por COVID-19. Entre los síntomas de laboratorio existen algunas correlaciones positivas como la que hay entre las enzimas alanina aminotransferasa ( Alanine_aminotransferase ) y aspartato aminotransferasa ( Aspartate_aminotransferase ). Las correlaciones negativas, como la que existe entre el potasio ( Potassium ) y la proteína C reactiva ( C_reactive_protein ), implican que cuando una 86 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA de las dos sustancias aumenta, la otra disminuye. Para seleccionar los síntomas clínicos y de laboratorio con más representatividad en los datos se ha hecho un Análisis de Componentes Principales. A.3. Análisis de Componentes Principales en sintomatología clínica library(finalfit) síntomas_c <- c( "Body_temperature", "Cough", "Sputum_production", "Shortness_of_breath", "Dyspnoea", "Stuffy", "Sore_throat", "Oropharynx_hyperemia", "Tonsill_hypertrophy", "Chest_pain", "Chest_tightness", "Wheezing", "Diarrhoea", "Nausea_vomiting", "Headache", "Conjuctivitis", "Myalgia_fatigue", "Joint_pain", "Pulse", "Respiratory_rate" ) # Creamos un data.frame a partir del conjunto incial # con los síntomas clínicos escogidos APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 87 A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA acp_c <- covidcohort %>% dplyr::select(c( Deaths, Disease_severity, dplyr::all_of(sintomas_c) )) %>% dplyr::mutate_if(is.factor, as.character) %>% dplyr::mutate_if(is.character, as.numeric) # Agrupamos la severidad de la enfermedad en 2 grupos # en una variable nueva Disease_severity_group_B # Niveles 1 y 2 = No severo # Niveles 3 y 4 = Severo acp_c %<>% mutate( Disease_severity_group_B = case_when( Disease_severity %in% c(1,2)~"No_Severo", Disease_severity %in% c(3,4)~"Severo" ) ) acp_c %<>% dplyr::select(-Disease_severity) acp_c$Deaths <- factor(acp_c$Deaths, levels = c(0,1)) acp_c$Disease_severity_group_B <- factor( acp_c$Disease_severity_group_B, levels = c("No_Severo","Severo") ) acp_c %<>% dplyr::relocate( Disease_severity_group_B, .before = Deaths ) 88 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA # Quitamos los outliers de las variables # Temperatura corporal (Body_Temperature), # Presión sistólica (Systolic_pressure), Pulso (Pulse), # Presión diastólica (Diastolic_pressure), # Frecuencia respiratoria (Respiratory_rate) y # Saturación de oxígeno (SpO2) for (i in c(3,21:22)) { acp_c %>% dplyr::select(dplyr::all_of(i)) %>% rstatix::identify_outliers() %>% filter(is.outlier == T) %>% dplyr::select(1)%>% tibble::deframe() -> nn if (length(nn) != 0) { acp_c[acp_c[, i] %in% nn, i] <- NA } remove(nn) } # Escogemos los síntomas con un porcentaje de valores perdidos # menor a 40 acp_c_nm <- acp_c %>% is.na() %>% colSums() <nrow(acp_c) *0.4 acp_c_nm <- which(acp_c_nm == T) %>% names() # Nos quedamos con las variables seleccionadas en el paso anterior acp_c <- acp_c %>% dplyr::select(dplyr::all_of(acp_c_nm)) # Renombramos las dos primeras columnas colnames(acp_c)[1:2] <- c("Odds de severidad","Mortalidad") # Renombramos las etiquetas de las dos primeras columnas levels(acp_c$`Odds de severidad`)[levels( APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 89 A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA acp_c$`Odds de severidad` )== "No_Severo"]<-"Leve/Moderado" levels(acp_c$`Odds de severidad`)[levels( acp_c$`Odds de severidad` )== "Severo"]<-"Severo/Critico" levels(acp_c$Mortalidad)[levels(acp_c$Mortalidad) == "0"]<-"Supervivientes" levels(acp_c$Mortalidad)[levels(acp_c$Mortalidad) == "1"]<-"No_Supervivientes" # Imputamos los valores perdidos del dataset. Es un paso preliminar. acp_c_imp <- missMDA::imputePCA(acp_c, quali.sup = 1:2,scale = T, seed = 2021) Una vez que hemos preparado el conjunto de datos para poder hacer el Análisis de Componentes Principales vamos a usar la función PCA de la librería factoMineR (Lê et al., 2008) para aplicar esta técnica. library(FactoMineR) # Hacemos el análisis de componentes principales con la función PCA # de la librería FactoMineR res.pca <- FactoMineR::PCA( X=acp_c_imp$completeObs, scale.unit = T, quali.sup = 1:2, graph = FALSE ) A continuación vamos a ver los resultados en gráficos. knitr::kable(res.pca[["eig"]], caption = "\\label{table031}Varianza total explicada en sintomatología clínica") Tabla A.1: Varianza total explicada en sintomatología clínica eigenvalue percentage of variance cumulative percentage of variance comp 1 3.2598629 14.817558 14.81756 comp 2 1.9099970 8.681805 23.49936 comp 3 1.4016985 6.371357 29.87072 comp 4 1.2835650 5.834386 35.70511 90 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA eigenvalue percentage of variance cumulative percentage of variance comp 5 1.1492876 5.224035 40.92914 comp 6 1.0948321 4.976510 45.90565 comp 7 1.0244373 4.656533 50.56218 comp 8 0.9956797 4.525817 55.08800 comp 9 0.9694680 4.406673 59.49467 comp 10 0.9455871 4.298123 63.79280 comp 11 0.8890685 4.041220 67.83402 comp 12 0.8308247 3.776476 71.61049 comp 13 0.7932294 3.605588 75.21608 comp 14 0.7617058 3.462299 78.67838 comp 15 0.7513120 3.415055 82.09343 comp 16 0.6950446 3.159293 85.25273 comp 17 0.6496744 2.953066 88.20579 comp 18 0.6408365 2.912893 91.11869 comp 19 0.5907492 2.685224 93.80391 comp 20 0.5305426 2.411557 96.21547 comp 21 0.4898356 2.226525 98.44199 comp 22 0.3427614 1.558007 100.00000 library(factoextra) library(ggcorrplot) p_scree <- factoextra::fviz_eig(res.pca, addlabels = F, ylim = c(0,23), ncp = 50,barfill = "#00468BFF", ggtheme = theme_classic() )+ theme(axis.title.x = element_blank()) p_scree APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 91 A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA 0 5 10 15 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Percentage of explained variances Scree plot Figura A.3: Variabilidad representada por cada componente principal. Hemos pasado de tener 23 variables de sintomatología clínica a contar con 12 componentes principales (que son combinaciones lineales de estas variables) que guardan el 71.6% de la información que teníamos al principio (Tabla A.1 y Figura A.3). Si consideramos como máximo 5 componentes principales mantendremos el 40 % de la información inicial. A continuación se muestra la correlación entre cada variable y la componente principal (las 5 primeras). var <- factoextra::get_pca_var(res.pca) p_corr <- ggcorrplot::ggcorrplot(var$cos2, method = "circle", ggtheme = theme_classic(), colors = c("#00468BFF", "white", "#AD002AFF"), tl.cex = 10) p_corr 92 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Body_temperature Cough Sputum_production Shortness_of_breath Dyspnoea Stuffy Sore_throat Oropharynx_hyperemia Tonsill_hypertrophy Chest_pain Chest_tightness Wheezing Diarrhoea Nausea_vomiting Headache Conjuctivitis Myalgia_fatigue Joint_pain Pulse Systolic_pressure Diastolic_pressure Respiratory_rate −1.0 −0.5 0.0 0.5 1.0 Corr Figura A.4: Correlación entre cada variable y la componente principal. Las variables fuertemente asociadas a la primera componente principal son Body_temperature , Cough , Shortness_of_breath y Headache . Las variables principalmente asociadas a la segunda componente son Systolic_pressure , Diastolic_pressure . En la tercera componente las variables más representativas son Chest_tightness y Diarrhoea . Sputum_production y Oropharynx_hyperemia están asociadas a la cuarta componente principal. Por último, Nausea_vomiting es la variable con mayor correlación con la quinta componente. Podemos ver los gráficos que surgen entre las tres primeras componentes según la severidad o la mortalidad por COVID-19. combn(1:3,2) -> cmbn p_sever <- list() p_mortalidad <- list() for (i in 1:3) { if (i == 3) { p_sever[[i]] <- factoextra::fviz_pca_biplot(res.pca, axes = cmbn[, i], APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 93 A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA geom.ind = "point", habillage = 1,pointsize = 1.6, invisible = "var",palette = "lanonc", addEllipses = TRUE,title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "right" )+ggsci::scale_color_lancet() p_mortalidad[[i]] <- factoextra::fviz_pca_biplot(res.pca, axes = cmbn[, i], geom.ind = "point", habillage = 2, pointsize = 1.6, invisible = "var", palette = "lanonc", addEllipses = TRUE, title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "right" )+ggsci::scale_color_lancet() }else { p_sever[[i]] <- factoextra::fviz_pca_biplot(res.pca, axes = cmbn[, i], geom.ind = "point", habillage = 1, pointsize = 1.6, 94 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.3. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA CLÍNICA invisible = "var", palette = "lanonc", addEllipses = TRUE, title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "none" )+ggsci::scale_color_lancet() p_mortalidad[[i]] <- factoextra::fviz_pca_biplot(res.pca, axes = cmbn[, i], geom.ind = "point", habillage = 2, pointsize = 1.6, invisible = "var", palette = "lanonc", addEllipses = TRUE, title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "none" )+ggsci::scale_color_lancet() } } APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 95 A.4. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA DE LABORATORIO Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 White_blood_cells Lymphocyte Haemoglobin Platelets Alanine_aminotransferase Aspartate_aminotransferase Total_bilirubin Glucose Blood_urea_nitrogen Creatinine −1.0 −0.5 0.0 0.5 1.0 Corr Figura A.7: Correlación entre cada variable y la componente principal. La variable fuertemente asociada a la primera componente principal es White_blood_cells . La variable principalmente asociadas a la segunda componente es Haemoglobin . Lymphocyte está asociada a la tercera componente principal. Por último, Platelets es la variable con mayor correlación con la cuarta componente. Podemos ver los gráficos que surgen entre las tres primeras componentes según la severidad o la mortalidad por COVID-19. combn(1:3,2) -> cmbn p_sever <- list() p_Mortalidad <- list() for (i in 1:3) { if (i == 3) { p_sever[[i]] <- factoextra::fviz_pca_biplot( res.pca, axes = cmbn[, i], geom.ind = "point", 102 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.4. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA DE LABORATORIO habillage = 1, pointsize = 1.6, invisible = "var", palette = "lanonc", addEllipses = TRUE, title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "right" )+ ggsci::scale_color_lancet() p_Mortalidad[[i]] <- factoextra::fviz_pca_biplot( res.pca, axes = cmbn[, i], geom.ind = "point", habillage = 2, pointsize = 1.6, invisible = "var", palette = "lanonc", addEllipses = TRUE,title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "right" )+ ggsci::scale_color_lancet() }else { p_sever[[i]] <- factoextra::fviz_pca_biplot( APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 103 A.4. ANÁLISIS DE COMPONENTES PRINCIPALES EN SINTOMATOLOGÍA DE LABORATORIO res.pca, axes = cmbn[, i], geom.ind = "point", habillage = 1,pointsize = 1.6, invisible = "var", palette = "lanonc", addEllipses = TRUE, title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "none" )+ ggsci::scale_color_lancet() p_Mortalidad[[i]] <- factoextra::fviz_pca_biplot( res.pca, axes = cmbn[, i], geom.ind = "point", habillage = 2, pointsize = 1.6, invisible = "var", palette = "lanonc", addEllipses = TRUE, title = NULL )+ theme( panel.background = element_rect(fill = NULL), panel.grid.major = element_line(colour = "white"), panel.grid.minor = element_line(colour = "white"), legend.position = "none" )+ 104 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.5. ASOCIACIÓN DE LA EDAD CON ENFERMAR GRAVE O MUERTE POR COVID-19 ggsci::scale_color_lancet() } } −0.6 −0.4 −0.2 0.0 0.2 −0.250.000.250.50 Dim1 (33.4%) Dim2 (18.9%) A −0.25 0.00 0.25 0.50 0.75 −0.250.000.250.50 Dim1 (33.4%) Dim3 (11.9%) B −0.25 0.00 0.25 0.50 0.75 −0.6−0.4−0.20.00.2 Dim2 (18.9%) Dim3 (11.9%) Odds de severidad Leve/Moderado Severo/Critico C −0.6 −0.3 0.0 0.3 −0.250.000.250.50 Dim1 (33.4%) Dim2 (18.9%) D −0.25 0.00 0.25 0.50 0.75 −0.250.000.250.50 Dim1 (33.4%) Dim3 (11.9%) E −0.25 0.00 0.25 0.50 0.75 −0.6−0.30.00.3 Dim2 (18.9%) Dim3 (11.9%) Mortalidad Supervivientes No_Supervivientes F Figura A.8: Gráfico entre las 3 primeras componentes según severidad o mortalidad. ## null device ## 1 A.5. Asociación de la edad con enfermar grave o muerte por COVID-19 En este apartado se estudia la asociación que existe entre la edad y la severidad o muerte de la enfermedad COVID-19. En este caso, no se agrupara la variable edad en diferentes tramos, sino que se hará el estudio teniendo en cuenta todas las edades (sin considerar valores extremos). # Se define la nueva variable agrupando en # pacientes severos (grupos 1 y 2) y no severos (grupos 3 y 4) covidcohort %<>% mutate( Disease_severity_group_binary = case_when( APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 105 A.5. ASOCIACIÓN DE LA EDAD CON ENFERMAR GRAVE O MUERTE POR COVID-19 Disease_severity %in% c(1,2)~"No_Severo", Disease_severity %in% c(3,4)~"Severo" ) ) covidcohort$Disease_severity_group_binary <- factor( covidcohort$Disease_severity_group_binary, levels = c("No_Severo","Severo") ) # Se cogen todas las edades menos las extremas # Se considera extremo tener 0 años o 100 covidcohort %<>% dplyr::filter(Age != 0&Age != 100) En este caso, se hace una regresión no lineal splines, este tipo de regresión es una extensión de la regresión polinómica y de las funciones steps (paso a paso). Para hacerlo usaremos la función bs de la librería splines (Bates & Venables, 2019). Aplicaremos esta función al factor edad ( Age ) y lo que haremos será dividir el rango de esta variable en 3 subintervalos. Para esto pasamos el argumento knots = c(15, 50, 65) . Para cada subintervalo se ajustará una función polinómica de grado 1 ( degree = 1 ). Los límites de la edad están en 1 y 99 años ( Boundary.knots = c(1, 99 ). Todo ello irá introducido dentro de la fórmula del modelo lineal general. En el modelo ajustado para la severidad de la enfermedad de COVID-19 la variable objetivo es la que hemos creado anteriormente Disease_severity_group_binary y las variables explicativas son Age , Any_comorbidities , Kazahk_ethnicity y White_blood_cells que son las variables que aparecían asociadas a enfermar gravemente en la Tabla 2.2. fit_severity <- glm( Disease_severity_group_binary ~splines::bs(Age, knots = c(15,50,65), Boundary.knots = c(1,99), degree = 1)+ Kazakh_ethnicity + Any_comorbidities + White_blood_cells, 106 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.5. ASOCIACIÓN DE LA EDAD CON ENFERMAR GRAVE O MUERTE POR COVID-19 data = covidcohort, family = binomial()) El modelo ajustado para la mortalidad, la variable Deaths viene explicada por la variable Age ySex (asociadas en la Tabla 2.4). fit_mortality <- glm( Deaths ~splines::bs(Age, knots = c(15,50,65), Boundary.knots = c(1,99), degree = 1)+ Sex, data = covidcohort, family = binomial()) # Normalizamos la ODDS al grupo de 15 a 49 años OR_severity <- exp(coef(fit_severity))[2:5]%>% as.vector() /exp(coef(fit_severity))[3]%>% as.vector() OR_mortality <- exp(coef(fit_mortality))[2:5]%>% as.vector() /exp(coef(fit_mortality))[3]%>% as.vector() Calculamos a continuación el estadístico C con la función Cstat de la librería DescTools (Signorell, 2021). Este estadístico es una medida de la bondad del ajuste de una regresión logística o para otro modelo de clasificación. Es equivalente al área que hay debajo de la curva ROC. A mayor valor del estadístico C, mejor es el modelo ajustado. El valor oscila entre 0.5 y 1. # C-statistics of fitted models library(DescTools) cat("El valor del estadístico C para el modelo ajustado para la severidad del COVID-19 es", DescTools::Cstat(fit_severity), "\n", "El valor del estadístico C para el modelo ajsutado para la mortalidad por COVID-19 es", DescTools::Cstat(fit_mortality), ".") ## El valor del estadístico C para el modelo ajustado ## para la severidad del COVID-19 es 0.8145032 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 107 A.5. ASOCIACIÓN DE LA EDAD CON ENFERMAR GRAVE O MUERTE POR COVID-19 ## El valor del estadístico C para el modelo ajsutado ## para la mortalidad por COVID-19 es 0.9284892 . Como vemos, salen valores muy altos que nos indican que estamos ante buenos modelos. Ahora nuestra intención es ver como afecta la edad a la enfermedad bajo estudio, esto podemos verlo a través de los valores que va tomando la Odds Ratio conforme avanza la edad. Haremos un gráfico para estudiarlo. # Gráfico library(scales) library(ggsci) # Creamos un data frame en el que guardemos # los extremos y los puntos medios # de los intervalos 15-49 y 50-65 # con el OR asociado a cada etapa ORdf <- tibble(Age = c(1,32.5,57.5,99), ORadj = OR_severity) # A continuación se crea el gráfico p <- ORdf %>% ggplot() + geom_line(aes(x=Age, y=ORadj), size = 1, color = "#00468BFF") p <- p +geom_vline(xintercept = c(15,50,65), linetype = "dotted", color = "gray", size = 0.5)+ geom_hline(yintercept = c(1), linetype = "dotted", color = "gray", size = 0.5) p_severity_OR <- p +scale_y_continuous(trans = log10_trans(), breaks = trans_breaks( 108 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.5. ASOCIACIÓN DE LA EDAD CON ENFERMAR GRAVE O MUERTE POR COVID-19 "log10", function(x) 10^x), labels = trans_format( "log10", math_format(10^.x))) + theme_classic() + xlab("Edad en años")+ ylab("OR de severidad \ncomparada con el grupo de \nedad de 15-49") # El mismo procedimiento para la mortalidad ORdf <- tibble(Age = c(1,32.5,57.5,99), ORadj = OR_mortality) p <- ORdf %>% ggplot() + geom_line(aes(x=Age, y=ORadj), size = 1, color = "#AD002AFF") p <- p + geom_vline(xintercept = c(15,50,65), linetype = "dotted", color = "gray", size = 0.5)+ geom_hline(yintercept = c(1), linetype = "dotted", color = "gray", size = 0.5) p_mortality_OR <- p +scale_y_continuous(trans = log10_trans(), breaks = trans_breaks( "log10", APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 109 A.5. ASOCIACIÓN DE LA EDAD CON ENFERMAR GRAVE O MUERTE POR COVID-19 function(x) 10^x), labels = trans_format( "log10", math_format(10^.x))) + theme_classic() + xlab("Edad en años")+ ylab("OR de mortaldiad \ncomparada con el grupo de \nedad de 15-49") library(patchwork) patchwork <- p_severity_OR /p_mortality_OR patchwork +plot_annotation(tag_levels = "A") 10−0.5 100 100.5 101 0 25 50 75 100 Edad en años OR de severidad comparada con el grupo de edad de 15−49 A 10−2 10−1 100 101 102 0 25 50 75 100 Edad en años OR de mortaldiad comparada con el grupo de edad de 15−49 B dev.off() ## null device ## 1 Efectivamente, el riesgo de morir o enfermar gravemente por COVID-19 aumenta en personas expuestas a una edad mayor. Al estar comparado con la OR del grupo de 15 a 49 años en el punto 32.5 (punto medio del intervalo) la OR vale exactamente 1. Por tanto, existe una fuerte 110 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.6. FACTORES DE RIESGO ASOCIADOS A LA MUERTE O A ENFERMAR GRAVEMENTE POR COVID-19 SEGÚN EL SITIO CLÍNICO asociación entre la muerte y enfermedad grave por COVID-19 en edades altas. A.6. Factores de riesgo asociados a la muerte o a enfermar gravemente por COVID-19 según el sitio clínico covidcohort %<>% mutate(Disease_severity_group_binary = case_when( Disease_severity %in% c(1,2)~"No_Severo", Disease_severity %in% c(3,4)~"Severo" )) covidcohort$Disease_severity_group_binary <- factor( covidcohort$Disease_severity_group_binary, levels = c("No_Severo","Severo")) # model fitting fit_severity <- glm(Disease_severity_group_binary ~Age + Kazakh_ethnicity +Any_comorbidities + White_blood_cells, data = covidcohort, family = binomial()) fit_mortality <- glm(Deaths ~Age +Sex, data = covidcohort, family = binomial()) # model characteristics broom::tidy(fit_severity) ## # A tibble: 5 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) -6.49 0.791 -8.21 2.28e-16 ## 2 Age 0.0532 0.00949 5.61 2.08e- 8 ## 3 Kazakh_ethnicity1 -0.320 0.361 -0.887 3.75e- 1 ## 4 Any_comorbidities1 0.759 0.361 2.10 3.55e- 2 ## 5 White_blood_cells 0.0972 0.0629 1.55 1.22e- 1 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 111 A.7. ESTUDIO DE LA ASOCIACIÓN DEL ÍNDICE DE MASA CORPORAL CON ENFERMAR GRAVEMENTE O MORIR POR COVID-19 levels = c("No_Severo","Severo")) imc_imp %<>% mutate(BMI_group = case_when( BMI <25 ~"Normal", BMI >= 25 &BMI <30 ~"25-30 (sobrepeso)", BMI >= 30 ~"30 o mas (obesidad)") ) imc_imp$BMI_group <- factor(imc_imp$BMI_group, levels = c("Normal", "25-30 (sobrepeso)", "30 o mas (obesidad)")) explanatory <- c("Age","Sex","Any_comorbidities", "White_blood_cells","BMI_group") explanatory_multi <- c("Age","Any_comorbidities", "White_blood_cells","BMI_group") dependent <- "Disease_severity_group_binary" tbimc3 <- imc_imp %>% finalfit::finalfit(dependent, explanatory, explanatory_multi) knitr::kable(tbimc3, caption = "\\label{table035}Regresión logística bivariada de la asociación del IMC con la probabilidad de enfermedad grave por COVID-19 en Kazajistán.", align = c("c","c","l","r","c","c")) 118 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN A.7. ESTUDIO DE LA ASOCIACIÓN DEL ÍNDICE DE MASA CORPORAL CON ENFERMAR GRAVEMENTE O MORIR POR COVID-19 Tabla A.5: Regresión logística bivariada de la asociación del IMC con la probabilidad de enfermedad grave por COVID-19 en Kazajistán. Dependent: Disease_severity_group_binary No_Severo Severo OR (univariable) OR (multivariable) 1 Age Mean (SD) 36.8 (17.7) 58.7 (18.6) 1.07 (1.05-1.08, p<0.001) 1.04 (1.01-1.06, p=0.001) 7 Sex 0 567 (96.6) 20 (3.4) - - 8 1 457 (94.6) 26 (5.4) 1.61 (0.89-2.96, p=0.116) - 2 Any_comorbidities 0 627 (97.8) 14 (2.2) - - 3 1 397 (92.5) 32 (7.5) 3.61 (1.94-7.06, p<0.001) 1.91 (0.95-4.00, p=0.074) 9 White_blood_cells Mean (SD) 6.6 (2.3) 7.2 (3.0) 1.10 (0.98-1.24, p=0.098) 1.11 (0.98-1.25, p=0.100) 6 BMI_group Normal 498 (99.2) 4 (0.8) - - 4 25-30 (sobrepeso) 455 (94.6) 26 (5.4) 7.11 (2.75-24.25, p<0.001) 3.60 (1.10-16.32, p=0.055) 5 30 o mas (obesidad) 71 (81.6) 16 (18.4) 28.06 (9.97-100.07, p<0.001) 6.47 (1.43-35.69, p=0.020) explanatory <- c("Age","BMI_group") explanatory_multi <- c("Age","BMI_group") dependent <- "Deaths" tbimc4 <- imc_imp %>% finalfit::finalfit(dependent, explanatory, explanatory_multi) APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN 119 A.7. ESTUDIO DE LA ASOCIACIÓN DEL ÍNDICE DE MASA CORPORAL CON ENFERMAR GRAVEMENTE O MORIR POR COVID-19 knitr::kable(tbimc4, caption = "\\label{table036}Regresión logística bivariada de la asociación del IMC con la muerte por COVID-19 en Kazajistán.") Tabla A.6: Regresión logística bivariada de la asociación del IMC con la muerte por COVID-19 en Kazajistán. Dependent: Deaths 0 1 OR (univariable) OR (multivariable) 1 Age Mean (SD) 37.2 (17.8) 68.6 (13.3) 1.10 (1.07-1.13, p<0.001) 1.10 (1.06-1.15, p<0.001) 4 BMI_group Normal 501 (99.8) 1 (0.2) - - 2 25-30 (sobrepeso) 471 (97.9) 10 (2.1) 10.64 (2.03-195.60, p=0.024) 2.02 (0.32-39.18, p=0.525) 3 30 o mas (obesidad) 79 (90.8) 8 (9.2) 50.73 (9.13-947.63, p<0.001) 1.68 (0.17-38.84, p=0.682) En la regresión logística simple vemos que tener sobrepeso u obesidad es un factor de riesgo para enfermar gravemente o morir por COVID-19. Sin embargo, en la regresión logística múltiple solo la obesidad está asociada a una mayor gravedad de la enfermedad COVID-19. 120 APÉNDICE A. APÉNDICE: ESTUDIOS COMPLEMENTARIOS AL ESTUDIO DE COHORTES DE ENFERMOS POR COVID-19 EN KAZAJISTÁN Bibliografía Ahrens, W., & Pigeot, I. (2014). HandBook of epidemiology. Springer. Allaire, J., Xie, Y., McPherson, J., Luraschi, J., Ushey, K., Atkins, A., Wickham, H., Cheng, J., Chang, W., & Iannone, R. (2020). Rmarkdown: Dynamic documents for r. https://github. com/rstudio/rmarkdown Babenko, D. (2021). COVID-19-in-KZ. GitHub. https://github.com/dimbage/COVID-19-in-KZ Bates, Douglas M., & Venables, W. N. (2019). Splines: Regression splines functions and classes. https://cran.r-project.org/src/contrib/Archive/splines/ Decorps, J. P. (2021). EpiStats: Tools for epidemiologists. https://CRAN.R-project.org/ package=EpiStats Gallego Iborra, A., Moreno Muñoz, G., & Castillo Aguas, G. (2012). Estudios analíticos observacionales (cohortes y casos-controles): Investigando asociaciones causales. Formación Activa En Pediatría de Atención Primaria,5(4), 227–233. https://fapap.es/files/639-869-RUTA/ FAPAP4_2012_07.pdf Gómez-Gómez, M., Danglot-Banck, C., Huerta, A., & García, T. (2003). El estudio de casos y controles: Su diseño, análisis e interpretación, en investigación clínica. Rev Mex Pediatr,70 (5), 257–263. https://www.medigraphic.com/pdfs/pediat/sp-2003/sp035h.pdf Harrison, E., Drake, T., & Ots, R. (2021). Finalfit: Quickly create elegant regression results tables and plots when modelling. https://github.com/ewenharrison/finalfit Henquin, R. (2013). Epidemiología y estadística para principiantes. Corpus Libros Médicos y Científicos; Corpus Editorial. Hernández-Ávila, M., Garrido-Latorre, F., & López-Moreno, S. (2000). Diseño de estudios epidemiológicos. Salud Pública de México,42, 144–154. https://www.scielosp.org/pdf/spm/2000. v42n2/144-154/es 121 Bibliografía Kassambara, A. (2021). Rstatix: Pipe-friendly framework for basic statistical tests. https: //rpkgs.datanovia.com/rstatix/ Kestenbaum, B. (2009). Epidemiology and biostatistics: An introduction to clinical research. Springer. Kirk, M. (2013). Analysis of Public Health Data (A. Housen Tambri y Richardson, Ed.). Australian National University; RPubs. https://rpubs.com/Mindy_20/case_control Lazcano-Ponce, E., Salazar-Martínez, E., & Hernández-Ávila, M. (2001). Estudios epidemiológicos de casos y controles. Fundamento teórico, variantes y aplicaciones. Salud Pública de México, 43(2), 135–150. http://www.scielo.org.mx/pdf/spm/v43n2/a09v43n2.pdf Lê, S., Josse, J., & Husson, F. (2008). FactoMineR: A package for multivariate analysis. Journal of Statistical Software,25 (1), 1–18. https://doi.org/10.18637/jss.v025.i01 Luque-Calvo, P. L. (2017). Escribir un Trabajo Fin de Estudios con R Markdown. http: //destio.us.es/calvo Luque-Calvo, P. L. (2019). Cómo crear Tablas de información en R Markdown. http://destio. us.es/calvo Mayer, M. (2021). MissRanger: Fast imputation of missing values. https://github.com/ mayer79/missRanger Mirón Canelo, J. A., & Alonso Sardón, M. (2008). Medidas de frecuencia, asociación e impacto en investigación aplicada. Medicina Y Seguridad Del Trabajo,54 (211), 93–102. https: //scielo.isciii.es/scielo.php?script=sci_arttext&pid=S0465-546X2008000200011 Molina Arias, M. (2016). Diseños híbridos. Evidencias En Pediatría. Asociación Española de Pediatría. https://scielo.isciii.es/scielo.php?script=sci_arttext&pid=S1139-76322016000100021 Molina Arias, M., & Ochoa Sangrador, C. (2013). Estudios observacionales (I). Estudios transversales.Medidas de frecuencia. Técnicas de muestreo. Evidencias En Pediatría. Asociación Española de Pediatría, 9–72. https://evidenciasenpediatria.es/files/41-12105-RUTA/ 72Fundamentos.pdf Molina Arias, M., & Ochoa Sangrador, C. (2014). Estudios observacionales (II). Estudios de cohortes. Evidencias En Pediatría. Asociación Española de Pediatría, 10–14. https: //evidenciasenpediatria.es/files/41-12164-RUTA/014Fundamentos.pdf Moreno-Altamirano, A., López-Moreno, S., & Corcho-Berdugo, A. (2000). Principales medidas en epidemiología. Salud Pública de México,42, 337–348. https://www.scielosp.org/article/spm/ 2000.v42n4/337-348/es/ 122 Bibliografía Olsen, J., Christensen, K., Murray, J., & Ekbom, A. (2010). An introduction to epidemiology for health professionals. Springer. Pallarés Mestre, J. (2016). La metodología cuantitativa aplicada al estudio de la reincidencia en menores infractores [PhD thesis, Universitat Jaume I]. https://www.tdx.cat/handle/10803/ 432779#page=1 R Core Team. (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/ Royo-Bordonada, M. Á., Damián, J., Pérez-Gómez, B., Rodríguez-Artalejo, F., Villar Álvarez, F., López-Abente, G., Imaz-Iglesia, I., Castilla Catalán, J., González-Enriquez, J., & Martín Moreno, J. M. (2009). Método epidemiológico. https://repisalud.isciii.es/bitstream/handle/20. 500.12105/5271/M%c3%a9todoEpidemiol%c3%b3gico_2009.pdf?sequence=1&isAllowed=y RStudio Team. (2015). RStudio: Integrated development environment for r. RStudio, Inc. http://www.rstudio.com/ Signorell, A. (2021). DescTools: Tools for descriptive statistics. https://CRAN.R-project.org/ package=DescTools Solís Sánchez, G., & Orejas Rodríguez-Arango, G. (1999). Epidemiología y metodología científica aplicada a la pediatría (VI): Confusión e interacción. An Esp Pediatr,51, 91–96. https://www.aeped.es/sites/default/files/anales/51-1-23.pdf Stevenson, M., Nunes, T., Heuer, C., Marshall, J., Sanchez, J., Thornton, R., Reiczigel, J., Robison-Cox, J., Sebastiani, P., & Solymos, P. (2021). EpiR: Tools for the analysis of epidemiological data. https://CRAN.R-project.org/package=epiR Therneau, T. M. (2020). Survival: Survival analysis. https://github.com/therneau/survival Wickham, H., Chang, W., Henry, L., Pedersen, T. L., Takahashi, K., Wilke, C., Woo, K., Yutani, H., & Dunnington, D. (2021). Ggplot2: Create elegant data visualisations using the grammar of graphics. https://CRAN.R-project.org/package=ggplot2 Wickham, H., François, R., Henry, L., & Müller, K. (2021). Dplyr: A grammar of data manipulation. https://CRAN.R-project.org/package=dplyr Xie, Y. (2020). Knitr: A general-purpose package for dynamic report generation in r. https: //yihui.org/knitr/ Yegorov, S., Goremykina, M., Ivanova, R., Good, S. V., Babenko, D., Shevtsov, A., MacDonald, K. S., & Zhunussov, Y. (2021a). Appendix: Epidemiology, clinical characteristics, and virologic 123 Bibliografía features of COVID-19 patients in Kazakhstan: A nation-wide retrospective cohort study. The Lancet Regional Health - Europe. https://www.thelancet.com/cms/10.1016/j.lanepe.2021.100096/ attachment/e1e63a9b-358b-4fc3-890b-a9c0629e173b/mmc1.pdf Yegorov, S., Goremykina, M., Ivanova, R., Good, S. V., Babenko, D., Shevtsov, A., MacDonald, K. S., & Zhunussov, Y. (2021b). Epidemiology, clinical characteristics, and virologic features of COVID-19 patients in Kazakhstan: A nation-wide retrospective cohort study. The Lancet Regional Health - Europe. https://www.thelancet.com/journals/lanepe/article/PIIS2666-7762(21) 00073-9/fulltext#seccesectitle0025 124