Comprueba las celdas de salida contra el contrato estimates/v1 antes de escribirlas: columnas y orden, clave
única, intervalos ordenados, identificador de corrida y nombres coherentes con los catálogos.
Usage
dl_validar_estimaciones(datos, rutas = dl_rutas(), entidad = "cause")Arguments
- datos
Tabla de celdas (data.table, con las columnas del contrato
estimates/v1).- rutas
Rutas de
dl_rutas(); se usan los catálogos.- entidad
Entidad del contrato (
"cause").
Details
Las comprobaciones: las columnas exactas y en su orden (las de las celdas de dl_resumir() con run_id
primero); una sola fila por ubicación, año, banda, sexo, causa, medida y métrica; sin NA en la clave ni en los
valores; lower <= val <= upper; ui_level 0.95; un solo run_id, con la forma <AAAA-MM-DD>_<nombre>_v<n>; y
los nombres de edad, sexo, medida, métrica, ubicación y causa iguales a los de los catálogos (sin distinguir
mayúsculas; la causa, por su forma sin tildes ni espacios). dl_exportar_corrida(), dl_sumar_hijas(),
dl_reresumir_corrida() y dl_consolidar() la usan antes de escribir.
See also
dl_resumir() (las celdas), dl_exportar_corrida().
Funciones avanzadas:
dl_edo(),
dl_edo_resolver(),
dl_esquema(),
dl_esquema_tabla(),
dl_mh(),
dl_mh_cadenas(),
dl_prior_emr(),
dl_severidad_desde_particion(),
dl_validar_tabla()
Examples
# \donttest{
p <- dl_proyecto(dl_ejemplo(), causa = 9100)
b <- dl_insumos(p)
#> dl_insumos(): 25 fila(s) nacionales de la tabla datos quedan fuera del ajuste porque datos_en_ajuste está vacío en la configuración; las filas subnacionales se usan solo para validar la cascada
op <- dl_opciones_mcmc(simulaciones = 100, cadenas = 2, iteraciones = 2000, calentamiento = 1000)
f <- dl_ajustar(b, op, semilla = 1)
res <- dl_resumir(list(ajuste = f, avd = dl_avd(f, b, semilla = 1), insumos = b))
# las celdas con el identificador de una corrida
celdas <- data.table::data.table(run_id = paste0(Sys.Date(), "_ejemplo_v1"), res$celdas)
isTRUE(dl_validar_estimaciones(celdas, rutas = p$rutas))
#> [1] TRUE
# un intervalo que no contiene su valor no cumple el contrato
celdas$lower[1] <- celdas$val[1] * 2
try(dl_validar_estimaciones(celdas, rutas = p$rutas))
#> Error : dl_validar_estimaciones(): las celdas no cumplen el contrato estimates/v1:
#> - 1 fila(s) no cumplen lower <= val <= upper
# }