Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

correccion glosario y adición banco preguntas #24

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 113 additions & 29 deletions episodes/Banco_errores.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Banco de preguntas y errores frecuentes"
date: '2024-10-21'
date: '2024-11-22'
output:
html_document:
self_contained: true
Expand All @@ -19,19 +19,83 @@ exercises: 8
---

::: questions

- ¿Tiene algunas dificultades con el código en R?

- ¿Tiene algunas dificultades con el código en R?
:::

::: objectives
- En este documento usted podrá encontrar algunas de las preguntas y errores frecuentes de la ejecución del código en R.
:::

## Banco de preguntas

- En este documento usted podrá encontrar algunas de las preguntas y errores frecuentes de la ejecución del código en R.
### ¿Es necesario RTools?

:::
Hay varios problemas comunes en R que pueden requerir la instalación de Rtools.

1. Instalación de paquetes que requieren compilación: Algunos paquetes de R necesitan ser compilados desde el código fuente, lo cual requiere herramientas de compilación que Rtools proporciona.

## Banco de preguntas
2. Dependencias de C, C++ o Fortran: Si desea instalar paquetes que dependen de código escrito en C, C++ o Fortran, necesitará Rtools para compilar estos componentes.

3. Errores de compilación: Si encuentra errores durante la instalación de paquetes que mencionan problemas de compilación, Rtools puede resolver estos problemas al proporcionar las herramientas necesarias.

4. Desarrollo de paquetes personalizados: Si está desarrollando su propio paquete de R y necesita compilar código fuente, Rtools es esencial para este proceso.

### ¿Cómo instalar RTools?

*Antes de empezar por favor revise que cuenta con permisos de administrador en el computador o laptop.*

Instalación de Rtools

La instalación de Rtools depende del sistema operativo que este utilizando

### Windows

1.      Verifique que versión de R tiene:\
En la consola de R escriba y ejecute este comando: **\
**

```{r}
sessionInfo()
```

**Obtendrá una información similar a esta. En este caso la versión es 4.4.1**

2.      Visite la página de RTools en CRAN en el navegador de su preferencia: <https://cran.r-project.org/bin/windows/Rtools/> y seleccione la versión de Rtools que se ajuste a la versión actual de R que tiene en su máquina y a la arquitectura de su computador. O de click en alguno de los siguientes enlaces para descargar el instalador:\
\

| | |
|-------------------------------------------|-----------------------------------------------------------------------------------------|
| Para versiones de R desde 4.4.0 | [RTools 4.4](https://cran.r-project.org/bin/windows/Rtools/rtools44/rtools.html) |
| Para versiones de R desde 4.3.0 | [RTools 4.3](https://cran.r-project.org/bin/windows/Rtools/rtools43/rtools.html) |
| Para versiones de R que empiezan por 4.2. | [RTools 4.2](https://cran.r-project.org/bin/windows/Rtools/rtools42/rtools.html) |
| Para versiones de R entre 4.0.0 a 4.1.3 | [RTools 4.0](https://cran.r-project.org/bin/windows/Rtools/rtools40.html) |
| Para versiones de R anteriores a 4.0.0 | [versiones antiguas RTools](https://cran.r-project.org/bin/windows/Rtools/history.html) |

3.      En la página de descarga, busque la frase: "***may be installed from the"***  y de clic en [***Rtools44 installer***](https://cran.r-project.org/bin/windows/Rtools/rtools44/files/rtools44-6335-6327.exe) o en la versión que haya seleccionado **anteriormente *RtoolsXX installer***.\
\
![](fig/rtools.png)

4.      Espere a que finalice la descarga y ejecute el archivo.

5.      Haga clic en "*Next"* o"*Siguiente"* para todas las opciones que se muestran en pantalla.

### Mac

En Mac, solamente necesita instalar Xcode Command Line Tools.

1.      Haga clic en Búsqueda de Spotlight en la parte superior derecha de la pantalla, luego busque "Terminal".

2.      Abra una terminal o línea de comandos en su máquina.

3.      En la terminal copie y pegue el siguiente comando: `xcode-select –install`

4.      Probablemente necesite proporcionar su contraseña para instalar el software.

5.      Siga las instrucciones que aparecen en la terminal y espere hasta que finalice la instalación.

También puede hacerlo directamente desde R como explican en este video:

[Instalación usando R](https://www.youtube.com/watch?v=_fckF0fefXQ&t=5s)

### [¿Cómo instalar un paquete o "librería" en R?]{#instr}

Expand Down Expand Up @@ -133,6 +197,32 @@ detach("package:paquete", unload = TRUE)

2. De click en el cuadro frente a cada función (si el cuadro tiene un visto, el paquete está cargado; si el cuadro está vacío, el paquete no está cargado), esto activará la función `detach`. ***Advertencia*****: Si presiona el simbolo de x al lado del paquete lo desinstalará.**

### No se creó el objeto o función

Esto puede ocurrir por varios motivos:

- **Ejecución incompleta del código**: El motivo más frecuente es que no se haya ejecutado el código parcial o totalmente. Asegúrese de ejecutar el script completo para que todas las líneas de código se ejecuten en el orden correcto. Para crear el objeto, asegúrese de haber realizado una de estas dos acciones:

1. escriba el código en la consola y ejecute (presionando `Enter`)

2. o que en el script o Chunck de RMarkdown presione `Control` + `Enter` en Windows o `Command` + `Enter` en Mac.

Si el objeto o función se creó correctamente, aparecerá en el ambiente global (*Enviroment*) ubicado en la zona superior lateral derecha.

- Falta algún paquete necesario: Revise que todas los paquetes o librerías necesarios estén cargados al inicio del script.

- Errores en el código: Verifique que no haya errores que impidan que el código se ejecute correctamente. Al ejecutar el código en la consola, aparecerán algunas alertas de errores que pueda tener el código.

::: callout
## Recomendación

Siempre observe la consola (console) para verificar si:

1. El código se ejecutó correctamente. En caso de que no se haya ejecutado, puede volver a ejecutarlo.\
2. Si aún se está ejecutando algún comando y aparece el símbolo rojo de **stop**. En este caso, espere a que R termine el proceso antes de ejecutar otros comandos.\
3. Si ha ocurrido algún error. Revise los errores o advertencias, ya que esto puede darle pistas sobre cómo solucionar el problema.\
:::

### No veo el resultado de mi código

Esto puede ocurrir por varios motivos:
Expand All @@ -149,8 +239,6 @@ Esto puede ocurrir por varios motivos:

- El script no se ha ejecutado completamente. Asegúrese de ejecutar el script completo para que todas las líneas de código se ejecuten en el orden correcto.

- El script no se ha ejecutado completamente. Asegúrese de ejecutar el script completo para que todas las líneas de código se ejecuten en el orden correcto.

### Errores frecuentes al usar `ggplot`

- Sintaxis incorrecta:
Expand Down Expand Up @@ -229,14 +317,12 @@ Cuando se crea un objeto este se almacena en el ambiente global. Podemos ver el

### No funciona el pipe `%>%`

Recuerde los siguientes puntos:

- Es importante cargar previamente una librería que contenga el pipe. Por ejemplo: `magrittr`, `dplyr`, `tidyr` o `purrr`.
- El pipe debe ir al final de la línea que se va a conectar. No al inicio de la línea conectada:

![](fig/bp_pipe.png)
Recuerde los siguientes puntos:

- Es importante cargar previamente una librería que contenga el pipe. Por ejemplo: `magrittr`, `dplyr`, `tidyr` o `purrr`.
- El pipe debe ir al final de la línea que se va a conectar. No al inicio de la línea conectada:

![](fig/bp_pipe.png){width="300"}

### ¿Cómo evitar accidentes? {#prevencion}

Expand Down Expand Up @@ -362,18 +448,18 @@ datos %>% group_by(pais) %>%
```

### Errores relacionados a grupos (group_by y ungroup)
- Un error muy frecuente es que se almacena el objeto agrupado (`group_by`), dado que no se realizó la acción de desagrupar al final. Esto puede generar errores como cálculos incorrectos, resúmenes por grupo en lugar de sobre la totalidad de los datos, y problemas al realizar operaciones subsecuentes en el conjunto de datos. Por ello, recomendamos siempre emplear (`ungroup`) antes de almacenar. Para usar `ungroup()` basta con ponerlo al final.

- Un error muy frecuente es que se almacena el objeto agrupado (`group_by`), dado que no se realizó la acción de desagrupar al final. Esto puede generar errores como cálculos incorrectos, resúmenes por grupo en lugar de sobre la totalidad de los datos, y problemas al realizar operaciones subsecuentes en el conjunto de datos. Por ello, recomendamos siempre emplear (`ungroup`) antes de almacenar. Para usar `ungroup()` basta con ponerlo al final.

```{r eval=FALSE}
datos <- datos %>%
group_by(categoria) %>%
procesamiento_de_datos(...) %>%
ungroup()
```

Veamos un ejemplo de un error que puede ocurrir por no desagrupar:

```{r,warning=FALSE,message=FALSE}
library("tidyverse")
set.seed(123) # Para reproducibilidad
Expand Down Expand Up @@ -401,10 +487,11 @@ por_dia %>% mutate(id = row_number())
```

Cómo puede observar en la columna id en lugar de identificadores únicos tenemos id que se repiten. ¿Por qué sucedió si cada fila es diferente?

La razón a este problema subyace en que los datos siguen agrupados. Aún si no aplicamos directamente el `ungroup` como se explico antes, todavía podemos solucionarlo.

Veamos como no se solucionaría primero. Un error frecuente al tratar de solucionar este problema es aplicar la función ungroup sin almacenar el resultado.

```{r}
# aplicación equivocada de ungroup
por_dia %>% ungroup()
Expand All @@ -413,26 +500,25 @@ por_dia %>% ungroup()
# mientras no se almacene el objeto serguirá agrupado
por_dia %>% mutate(id = row_number())
```

Como puede observar el problema no se ha corregido.

Para conrregirlo podemos o incluir el `ungroup` desde el inicio cuando creamos el objeto `por_dia`, o aplicar el cambio y guardarlo en el objeto:
Para corregirlo podemos o incluir el `ungroup` desde el inicio cuando creamos el objeto `por_dia`, o aplicar el cambio y guardarlo en el objeto:

```{r}
#ahora estamos almacenando el desagrupamiento
por_dia_sin_grupo <- por_dia %>% ungroup()

por_dia_sin_grupo %>% mutate(id = row_number())
```
Como puede observar ahora si tenemos cada fila con su propio id.

Como puede observar ahora si tenemos cada fila con su propio id.

Advertencia: Es importante aclarar que el desagrupamiento en los escenarios anteriores iría después de la operación, sin embargo, en este caso iría antes de la operación.



### Cuando trato de crear un pdf en RMarkdown me sale error

Si el archivo sale correctamente en otros formatos a excepción de pdf. Una de las situaciones más frecuentes es que falte la instalación de LaTeX: RMarkdown necesita LaTeX para generar PDFs. Asegúrate de tener LaTeX instalado en tu sistema.
Si el archivo sale correctamente en otros formatos a excepción de pdf. Una de las situaciones más frecuentes es que falte la instalación de LaTeX: RMarkdown necesita LaTeX para generar PDFs. Asegúrese de tener LaTeX instalado en su sistema.

Para instalar LaTeX desde RStudio, puede usar el paquete TinyTeX:

Expand All @@ -443,10 +529,9 @@ tinytex::install_tinytex()

Configure RStudio:

Vaya a Tools > Global Options > Sweave.
Vaya a Tools \> Global Options \> Sweave.

Asegúrese de que la opción "Typeset PDF" esté configurada para usar TinyTeX.

Asegúrese de que la opción "Typeset PDF" esté configurada para usar TinyTeX.

### Material adicional que puede aportar a su aprendizaje:

Expand All @@ -455,7 +540,6 @@ Asegúrese de que la opción "Typeset PDF" esté configurada para usar TinyTeX.
<https://www.youtube.com/watch?v=6STcQVX8Hk0>

::: keypoints

Si después de buscar en esta guía sus preguntas no encontro respuesta por favor diligencie el siguiente formulario [Dudas por resolver](https://forms.office.com/pages/responsepage.aspx?id=Dpn32j-KnECbdipUdQmAAMjWJqHZ8P1DkQQdb07M30RUOEY5N1U1UDFYMExGMzFHRkRKT1BTRTFRWS4u&route=shorturl&sid=6a94f23c-049c-4f54-9732-fc25789059b3){.uri}
:::

Expand Down
Binary file added episodes/fig/rtools.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 12 additions & 4 deletions learners/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,15 @@ serían 
durante muchos años los individuos pueden permanecer infectados,
pero controlando la enfermedad, sin transmitirla, estos individuos
son considerados expuestos en los modelos dinámicos de transmisión.


[Spillover]{#spillover}

: En epidemiología, el término spillover se refiere al proceso por el cual un patógeno (microorganismo, ya sea virus, bacteria, parásito u otro), que normalmente afecta a una especie animal específica, se transmite a otro reservorio. En otras palabras, es el salto evolutivo de un patógeno entre especies, lo cual incluye la transmisión de un animal a un humano.

[Zoonosis]{#zoonosis}

: La OPS define zoonosis como "enfermedades infecciosas transmisibles naturalmente desde animales vertebrados al ser humano".

# Parámetros de Transmisión

[Número de reproducción básico, R0]{#R0}
Expand Down Expand Up @@ -352,8 +360,8 @@ observacionales o inferencias a partir de modelos matemáticos.

: Intervalo de tiempo entre el inicio del periodo infeccioso de un
caso primario y el inicio del periodo infeccioso en un caso
secundario al caso primario. Normalmente es desconocido y se hace
una aproximación con el intervalo serial. No se puede medir, sólo
secundario, infectado por el caso primario. Normalmente es desconocido
y se hace una aproximación con el intervalo serial. No se puede medir, sólo
estimar. 

**Ejemplo**
Expand Down Expand Up @@ -592,7 +600,7 @@ Donde:

- $t$ es el tiempo transcurrido.

# [Parámetros de Severidad]{.smallcaps}
# Parámetros de Severidad

[Letalidad]{#letalidad}

Expand Down
Loading