Ejecuta la cadena formal: condición por medida, proporción de medidas que
cumplen cada regla y media aritmética simple, no ponderada, de las reglas
del perfil. Los resultados por regla se conservan en reglas; el resumen de
perfiles no sustituye esa distribución.
Arguments
- medicion
Primer argumento. Data frame producido por
medir(); puede reunir varias corridas si conserva susid_medicion—conrbind(), que se niega a unir mediciones de modelos distintos: para eso estáhistorico_calidad()—. Cadaid_medidase cuenta una vez: una medida repetida, o una conresultadoNAsin estar suprimida, se rechaza nombrándola. No es elperfildescriptivo que devuelveperfilar().- perfil
Segundo argumento. Objeto creado por
perfil_evaluacion(), que reúne las reglas que se aplican a la medición. Es un perfil de evaluación, distinto del objetoperfilcreado porperfilar().
Value
Objeto evaluacion_calidad con tres data frames filtrables:
medidas, reglas y perfiles. Si alguna regla declara un desenlace,
contiene además desenlaces, un plan que identifica las medidas
incumplidas, el valor medido, el motivo y la regla que lo produjo.
Cuando una métrica no pudo medirse, conserva cobertura_metricas y deja
en NA el resumen afectado, en lugar de tratar la ausencia como éxito.
Y cuando una regla declara una métrica que la medición no trae —ninguna
medida de ella—, el veredicto cubre menos de lo que la regla dice: eso se
avisa al evaluar y queda en el atributo cobertura_reglas, con la corrida,
la métrica, el motivo y cómo resolverlo: se mira corrida por corrida, así
que una corrida evaluada junto a otras avisa lo mismo que evaluada sola. Si ninguna de las métricas declaradas por
una regla tiene medidas, evaluar() se niega y nombra las solicitadas y las
disponibles.
Conserva además, en atributos, la configuración del modelo, la
aplicabilidad y el perfil de evaluación que produjo el resultado.
Examples
nucleo <- metricas_nucleo()
especifica <- especializar(nucleo$NoNulo)
instancia <- instanciar(especifica, "personas", "edad")
medidas <- medir(modelo(instancia), data.frame(edad = c(20, NA, 35)))
regla <- regla_evaluacion("Al menos 90%", function(x) x > 0.9)
evaluar(medidas, perfil_evaluacion("Avanzado", regla))
#>
#> ── Evaluación de calidad ───────────────────────────────────────────────────────
#>
#> ── Evaluaciones de medidas ──
#>
#> id_medida
#> medicion-20261002T092355.545400-7626-NoNulo@personas.edad-000001
#> medicion-20261002T092355.545400-7626-NoNulo@personas.edad-000002
#> medicion-20261002T092355.545400-7626-NoNulo@personas.edad-000003
#> id_medicion fecha perfil regla
#> medicion-20261002T092355.545400-7626 2026-10-02 09:23:55 Avanzado Al menos 90%
#> medicion-20261002T092355.545400-7626 2026-10-02 09:23:55 Avanzado Al menos 90%
#> medicion-20261002T092355.545400-7626 2026-10-02 09:23:55 Avanzado Al menos 90%
#> metrica_instanciada orientacion resultado
#> NoNulo@personas.edad conformidad TRUE
#> NoNulo@personas.edad conformidad FALSE
#> NoNulo@personas.edad conformidad TRUE
#> ── Evaluaciones de reglas ──
#>
#> id_medicion fecha perfil regla
#> medicion-20261002T092355.545400-7626 2026-10-02 09:23:55 Avanzado Al menos 90%
#> n_medidas resultado
#> 3 0.6666667
#> ── Perfiles de madurez ──
#>
#> id_medicion fecha perfil n_reglas
#> medicion-20261002T092355.545400-7626 2026-10-02 09:23:55 Avanzado 1
#> resultado
#> 0.6666667
