Crea un data frame plano y versionado con corridas producidas por medir() o
evaluar(). acumular_historico() agrega objetos al mismo esquema y es
idempotente cuando recibe otra vez registros idénticos, incluso si el RDS se
guardó o se vuelve a leer bajo otro locale.
Arguments
- ...
Objetos
medicion,evaluacion_calidadohistorico_calidad. También puede darse una única lista que los contenga.- detalle
Para evaluaciones,
"resumen"conserva los niveles de regla y perfil;"completo"conserva además cada evaluación de medida. Unamedicionpasada explícitamente siempre se conserva completa.- historico
Objeto creado por
historico_calidad().
Value
Data frame S3 historico_calidad. La columna version_esquema y el
atributo del mismo nombre permiten migraciones futuras. nivel corresponde
a medida, evaluacion_medida, evaluacion_regla o
evaluacion_perfil; una métrica sin valores se conserva como
metrica_no_evaluada con su motivo, siempre que la medición tenga al
menos una medida. Una medida que una regla declaró desenlace = "suprimir"
no publica su valor tampoco aquí: su fila deja resultado en NA y
marca objeto_medible con [valor suprimido], en los dos niveles donde esa
medida aparece —medida y evaluacion_medida—, porque esta tabla está
pensada para exportarse. Con el detalle resumido, las medidas suprimidas
entran igual, enmascaradas en el nivel evaluacion_medida: así una
medición acumulada después —también sobre un histórico guardado o
leído de un CSV— queda tapada en las mismas medidas, sea cual sea el orden
en que llegan los objetos. Una medición enteramente vacía —ninguna métrica
pudo aplicarse— no se acumula: se rechaza citando el motivo que medir()
declaró en cobertura_metricas, porque no hay corrida que registrar. El atributo
configuracion_evaluacion conserva, en una tabla plana separada, el
modelo, su marco y sus tipos, la aplicabilidad, el perfil, la identidad
de tabla y la fecha de cada corrida. Acumular una corrida con un
id_medicion ya presente exige que todo eso coincida, la fecha incluida:
dos entregas distintas son dos corridas, y el error nombra en qué difieren.
Details
El detalle predeterminado evita repetir una fila por celda y regla cuando el
objetivo es monitorear la serie de evaluaciones. El objeto no guarda modelos,
closures, datos originales ni perfiles de profiling. Esto mantiene la tabla
exportable directamente con write.csv() o una herramienta de base de datos.
Al volver a leerla, las fechas de texto se leen en UTC, con su hora.
[, subset() y dplyr::filter() conservan la configuración de las
corridas que quedan; rbind() de dos históricos los acumula, como
acumular_historico().
El esquema largo mapea las cuatro tablas de la sección 9.5 del marco mediante
nivel. Las columnas que no corresponden a un nivel quedan como NA.
References
AGESIC (2020). Marco de trabajo para la Gestión de la Calidad de Datos en Gobierno Digital, versión 1.6, sección 9.5, Presidencia de la República, Uruguay.
See also
medir(), evaluar(), detectar_deriva_calidad(), reportar()
historico_calidad(), leer_historico()
Examples
nucleo <- metricas_nucleo()
instancia <- instanciar(especializar(nucleo$NoNulo), "personas", "edad")
medidas <- medir(
modelo(instancia), data.frame(edad = c(20, NA)),
id_medicion = "enero", fecha = as.POSIXct("2026-01-31", tz = "UTC")
)
evaluacion <- evaluar(
medidas,
perfil_evaluacion("Basico", regla_evaluacion("Presente", function(x) x > 0))
)
historico_calidad(medidas, evaluacion)
#> version_esquema nivel
#> 1 1 medida
#> 2 1 medida
#> 3 1 evaluacion_regla
#> 4 1 evaluacion_perfil
#> id_registro
#> 1 =medida|=enero|~|~|=enero-NoNulo%40personas.edad-000001
#> 2 =medida|=enero|~|~|=enero-NoNulo%40personas.edad-000002
#> 3 =evaluacion_regla|=enero|=Basico|=Presente|~
#> 4 =evaluacion_perfil|=enero|=Basico|~|~
#> id_medida id_medicion fecha perfil regla
#> 1 enero-NoNulo@personas.edad-000001 enero 2026-01-31 <NA> <NA>
#> 2 enero-NoNulo@personas.edad-000002 enero 2026-01-31 <NA> <NA>
#> 3 <NA> enero 2026-01-31 Basico Presente
#> 4 <NA> enero 2026-01-31 Basico <NA>
#> metrica metrica_especifica metrica_instanciada dimension factor
#> 1 NoNulo NoNulo NoNulo@personas.edad Completitud Densidad
#> 2 NoNulo NoNulo NoNulo@personas.edad Completitud Densidad
#> 3 <NA> <NA> <NA> <NA> <NA>
#> 4 <NA> <NA> <NA> <NA> <NA>
#> granularidad tipo_resultado entidad atributo fila objeto_medible
#> 1 instanciaAtributo booleano personas edad 1 personas$edad[1]
#> 2 instanciaAtributo booleano personas edad 2 personas$edad[2]
#> 3 <NA> <NA> <NA> <NA> NA <NA>
#> 4 <NA> <NA> <NA> <NA> NA <NA>
#> n_elementos resultado agregacion
#> 1 1 1.0 <NA>
#> 2 1 0.0 <NA>
#> 3 2 0.5 <NA>
#> 4 1 0.5 <NA>
