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
TRUEagrega la corrida al registroregistro.- 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 conmaster_gbd.csv), los catálogos y el ancla. Hay que darlas (por ejemplodl_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)
# }