Skip to contents

Crea la carpeta de un proyecto (ver dl_proyecto()) con lo que hay que llenar: la configuración comentada, las plantillas de las tablas del contrato de insumos (dl_tablas), las carpetas de las descargas y un LEEME.md con los pasos. No sobrescribe nada: un archivo que ya existe queda como está.

Usage

dl_nuevo_proyecto(
  carpeta,
  causa,
  nombre = NULL,
  anio = NULL,
  edad_inicio = NULL
)

Arguments

carpeta

Carpeta del proyecto; se crea si no existe.

causa

Identificador de la causa: un número entero (el cause_id de GBD si la causa existe en GBD).

nombre

Nombre de la causa (opcional; sin él, la configuración toma el de la descarga del ancla).

anio

Año que se estima (opcional aquí; la configuración lo exige).

edad_inicio

Primera edad del modelo, en años (opcional aquí; la configuración la exige).

Value

La ruta de carpeta, invisible. Un mensaje lista lo que se creó, lo que ya existía y los pasos siguientes.

Details

Lo que se crea en carpeta:

  • config.yaml (o config/<causa>.yaml, si el proyecto ya tiene la carpeta config/ de un proyecto con varias causas): cada clave de la configuración con qué es, su símbolo en el modelo y su valor por defecto (la tabla de dl_configuracion()). Las claves obligatorias (causa, anio, edad_inicio) van sin comentar, con el valor dado o vacías; nombre, si se da, también. Las demás van comentadas con su valor por defecto o, si no tienen un valor fijo, con un ejemplo. Para usar otro valor se quita el # de la línea (y el de su bloque, como ancla: para ancla.peso).

  • ubicaciones.csv, poblacion.csv, betas.csv, datos.csv, severidad.csv, poblacion_detalle.csv, proxies_crudos.csv, razones.csv y prior_mortalidad_exceso.csv, con solo el encabezado (las columnas de dl_plantilla()). Una tabla con solo el encabezado es como si no estuviera: las opcionales que no se llenan no se usan.

  • ancla/, covariables/ y fuentes_gbd/, vacías: ahí van las descargas de GBD Results y del GHDx, sin editar (o las tablas del contrato).

  • LEEME.md: la carpeta del proyecto, los pasos, de dónde se descarga cada archivo y cómo revisar y correr el proyecto.

Después: llenar las tablas, revisar el proyecto con dl_revisar_proyecto() y correrlo con dl_correr(). Los valores de nombre, anio y edad_inicio van a la configuración tal como se dan: la revisión dice si alguno no vale.

Un proyecto de una sola causa tiene config.yaml. Para agregar otra causa, crea la carpeta config/, mueve ahí la configuración como config/<causa>.yaml y vuelve a llamar a dl_nuevo_proyecto() con la causa nueva: escribe config/<causa nueva>.yaml y deja lo demás como está. Las tablas son las mismas para todas las causas: sus filas dicen de qué causa son en la columna causa.

See also

dl_tablas (las tablas y sus columnas), dl_proyecto() (la carpeta), dl_configuracion() (las claves de la configuración), dl_revisar_proyecto() y dl_correr() (los pasos siguientes) y dl_ejemplo() (un proyecto lleno, para comparar).

Funciones del proyecto: dl_calibrar_proxies(), dl_correr(), dl_ejemplo(), dl_plantilla(), dl_proyecto(), dl_revisar_proyecto(), dl_tabla(), dl_tablas

Examples

carpeta <- file.path(tempdir(), "proyecto_nuevo")
dl_nuevo_proyecto(carpeta, causa = 1234, nombre = "Enfermedad de ejemplo",
                  anio = 2023, edad_inicio = 30)
#> dl_nuevo_proyecto(): proyecto de la causa 1234 en /tmp/RtmpucVo2P/proyecto_nuevo
#>   archivos nuevos: LEEME.md, betas.csv, config.yaml, datos.csv, poblacion.csv, poblacion_detalle.csv, prior_mortalidad_exceso.csv, proxies_crudos.csv, razones.csv, severidad.csv, ubicaciones.csv
#>   ya existían (no se tocaron): ninguno
#>   siguientes pasos: lee LEEME.md, completa config.yaml, llena las tablas, pon las descargas en ancla/ (y en covariables/) y revisa el proyecto con dl_revisar_proyecto()
list.files(carpeta, recursive = TRUE, include.dirs = TRUE)
#>  [1] "LEEME.md"                    "ancla"                      
#>  [3] "betas.csv"                   "config.yaml"                
#>  [5] "covariables"                 "datos.csv"                  
#>  [7] "fuentes_gbd"                 "poblacion.csv"              
#>  [9] "poblacion_detalle.csv"       "prior_mortalidad_exceso.csv"
#> [11] "proxies_crudos.csv"          "razones.csv"                
#> [13] "severidad.csv"               "ubicaciones.csv"            
cat(readLines(file.path(carpeta, "config.yaml"), n = 20, encoding = "UTF-8"), sep = "\n")
#> # Configuración de una causa de un proyecto de dismodlite (la escribió dl_nuevo_proyecto()).
#> # Cada clave va con qué es, su símbolo en el modelo y su valor por defecto:
#> # - las obligatorias van sin «#»: completa las que están vacías;
#> # - las demás están comentadas con su valor por defecto o, si no tienen un valor fijo, con un
#> #   ejemplo. Para usar otro valor, quita el «# » de su línea (y el de su
#> #   bloque, como `ancla:` para ancla.peso), deja la sangría de dos espacios y escribe el valor.
#> # Referencia de las claves: ?dl_configuracion. Para revisar el proyecto: dl_revisar_proyecto().
#> 
#> # `causa`: Identificador de la causa: un entero (el cause_id de GBD si la causa existe en GBD). Obligatoria;
#> #     por ejemplo 1234.
#> causa: 1234
#> 
#> # `nombre`: Nombre de la causa que muestra print() del proyecto y que llevan las etiquetas en español del
#> #     proyecto; las tablas de la corrida y su manifiesto llevan el cause_name del ancla. Por defecto, el
#> #     cause_name de la descarga del ancla.
#> nombre: Enfermedad de ejemplo
#> 
#> # `anio`: Año que se estima. Obligatoria; por ejemplo 2023.
#> anio: 2023
#> 
# la revisión dice qué falta: las tablas obligatorias
dl_revisar_proyecto(carpeta)
#> Revisión del proyecto «proyecto_nuevo», causa 1234
#>   ✗ ubicaciones: falta la tabla (o solo trae el encabezado): va en ubicaciones.csv o en la carpeta ubicaciones/ del proyecto
#>       → columnas ubicacion, nombre, padre (ver ?dl_tablas)
#>   ✗ poblacion: falta la tabla (o solo trae el encabezado): va en poblacion.csv o en la carpeta poblacion/ del proyecto
#>       → columnas ubicacion, anio, sexo, edad_inicio, edad_fin, poblacion (ver ?dl_tablas)
#>   ✗ ancla: falta la tabla (o solo trae el encabezado): va en ancla.csv o en la carpeta ancla/ del proyecto
#>       → columnas causa, anio, sexo, edad_inicio, edad_fin, medida, valor, inferior, superior (ver ?dl_tablas)
#>   - configuración: su traducción espera a la tabla ubicaciones
#>   - proyecto: las reglas entre tablas esperan a que se corrijan los errores de arriba
#>   - insumos: no se armaron: primero corrige los errores de arriba
#> 3 error(es) y 0 aviso(s): corrige los errores y vuelve a revisar.
unlink(carpeta, recursive = TRUE)