Skip to contents

Reporta una causa padre como la suma, simulación a simulación, de las corridas ya exportadas de sus hijas (las que declara master_gbd.csv del registro), y escribe una corrida nueva con sus celdas, simulaciones y manifiesto. El intervalo sale de los cuantiles de la suma de simulaciones.

Usage

dl_sumar_hijas(
  corridas_hijas,
  causa,
  nombre,
  carpeta = Sys.getenv("DATA_ROOT"),
  nombre_causa = NULL,
  nivel = 0.95,
  registrar = !is.null(registro),
  registro = NULL,
  rutas = dl_rutas(),
  omitidas = NULL
)

Arguments

corridas_hijas

Carpetas de las corridas exportadas de las hijas.

causa

Identificador de la causa padre.

nombre

Nombre corto de la corrida nueva: minúsculas sin tildes, números y guiones.

carpeta

Carpeta raíz de las corridas.

nombre_causa

Nombre de la causa padre en las celdas (por defecto, el del ancla de prevalencia; las rutas del proyecto de una causa con suma_de_subtipos: sí no traen ancla).

nivel

Nivel del intervalo de incertidumbre; debe ser 0.95, el que fija el contrato de las corridas.

registrar

TRUE agrega la corrida al registro registro.

registro

Archivo YAML del registro de corridas, que ya existe (un registro nuevo es un archivo con la línea datasets: []); opcional.

rutas

Rutas de dl_rutas(); se usan el registro (la carpeta de tablas de referencia con master_gbd.csv), los catálogos y el ancla. Hay que darlas (por ejemplo dl_rutas_ejemplo(9100) con los datos de ejemplo).

omitidas

Hijas que no entran en la suma: lista de list(cause_id = , motivo = ). La suma queda por debajo de la causa padre en la parte de cada hija omitida, y el manifiesto lo declara con su motivo.

Value

Objeto de clase dl_run de la corrida de la suma, con run_id, dir, manifest y files (como en dl_exportar_corrida()).

Details

En un proyecto no hace falta llamarla: si la configuración de la causa padre dice suma_de_subtipos: sí, dl_correr() de esa causa busca la corrida más reciente de cada subtipo y las suma con esta función (ver dl_proyecto()). dl_sumar_hijas() queda para sumar corridas elegidas a mano: las de otra carpeta de corridas, una corrida que no es la más reciente, una variante con otras hijas omitidas, o un proyecto del formato completo.

En un proyecto, la causa padre declara sus hijas en subtipos (ver dl_configuracion()) y las rutas de su proyecto, dl_proyecto(carpeta, <padre>)$rutas, traen ese registro (también las de una carpeta propia de la causa padre, con subtipos, ubicaciones y poblacion: con suma_de_subtipos: sí no necesita ancla, y entonces hay que dar nombre_causa). Cada hija se corre por separado (por ejemplo con dl_correr()) y su corrida debe declarar a la causa padre (extraction_cause_id en su manifiesto): lo hace sola si la hija se lee en el mismo proyecto que la configuración del padre; una hija en su propia carpeta lo declara con subtipo_de: <padre> (ver dl_configuracion()). Antes de sumar se comprueba que las corridas sean de esas hijas, con el mismo año, año del ancla, ronda de GBD, número de simulaciones y celdas (ubicaciones, sexos y bandas). La simulación k de la suma es la suma de las simulaciones k de las hijas; la correlación entre hijas no se modela (cada una viene de su propio ajuste). Una hija que no se corre se declara en omitidas, con su motivo; la suma queda por debajo de la causa padre en su parte y el manifiesto lo declara como limitación. La corrida de la suma no tiene ajuste propio: trae cause/, draws/ y el manifiesto (con las corridas de las hijas en causa.hijas), sin etiquetas, diagnósticos ni insumos.

See also

dl_correr() (las corridas de las hijas y, con suma_de_subtipos: sí en la configuración de la causa padre, la suma en una llamada), dl_proyecto() (la sección de los subtipos), dl_configuracion() (subtipos, suma_de_subtipos, subtipos_omitidos) y dl_consolidar() (que exige la suma para una causa con hijas).

Corridas: dl_exportar_corrida(), dl_reresumir_corrida(), dl_resumir()

Examples

# \donttest{
# la causa 9100 del ejemplo es la suma de 9101, 9102 y 9103: una corrida de prueba de cada hija
salida <- file.path(tempdir(), "suma")
hijas <- vapply(c(9101, 9102, 9103), function(k) suppressMessages(
  dl_correr(dl_ejemplo(), causa = k, semilla = 1, rapido = TRUE, sensibilidad = FALSE,
            carpeta_salida = salida))$dir, "")
basename(hijas)
#> [1] "2026-10-15_causa-9101-prueba_v1" "2026-10-15_causa-9102-prueba_v1"
#> [3] "2026-10-15_causa-9103-prueba_v1"
suma <- dl_sumar_hijas(hijas, causa = 9100, nombre = "suma-ejemplo", carpeta = salida,
                       rutas = dl_proyecto(dl_ejemplo(), causa = 9100)$rutas)
suma
#> <dl_run> corrida 2026-10-15_suma-ejemplo_v1 (suma de las hijas)
#>   carpeta: /tmp/RtmpucVo2P/suma/mod/dismod_lite/2026-10-15_suma-ejemplo_v1
#>   3 particiones canónicas (una por medida)
vapply(suma$manifest$causa$hijas, `[[`, "", "run_id")
#> [1] "2026-10-15_causa-9101-prueba_v1" "2026-10-15_causa-9102-prueba_v1"
#> [3] "2026-10-15_causa-9103-prueba_v1"
unlink(salida, recursive = TRUE)
# }