Construye el puente entre el examen de datos y la medición. El resultado no
ejecuta métricas: es una tabla editable donde cada fila conserva el hallazgo
o diagnóstico que la originó, la justificación, la configuración y una marca
incluir. modelo_desde_propuesta() materializa únicamente las filas que el
usuario deja activas.
Uso
proponer_modelo(
perfil,
datos = NULL,
relaciones = NULL,
entidades_relacion = character(),
max_valores_dominio = 20L,
max_sugerencias = 100L
)Argumentos
- perfil
Objeto creado por
perfilar().- datos
Datos originales opcionales. Son necesarios para proponer dominios observados y materializar reglas de dependencia funcional.
- relaciones
Resultado opcional de
detectar_relaciones().- entidades_relacion
Dos nombres de entidad correspondientes a las tablas usadas en
relaciones.- max_valores_dominio
Máximo de valores para proponer un dominio por extensión.
- max_sugerencias
Máximo de filas devueltas.
Valor
Data frame S3 de clase propuesta_modelo; las columnas de listas
contienen la configuración y los vínculos sin convertirlos en texto.
Detalles
Las reglas observadas que pueden sobreajustarse a una entrega —dominios y
patrones dominantes— se proponen inactivas. Los controles estructurales
directos, como NoNulo, duplicación exacta y dependencias funcionales
exactas, se activan. max_sugerencias recorta después de ordenar por
prioridad y el objeto declara el total en sus atributos.
Si una columna contiene faltantes disfrazados, NoNulo se propone pero queda
inactiva hasta normalizarlos o configurar la métrica para reconocerlos. De
otro modo mediría sólo los NA reales y sobrestimaría la completitud.
Ejemplos
datos <- data.frame(
codigo = rep(1:3, each = 4),
categoria = rep(c("A", "B", "C"), each = 4),
valor = c(1:11, NA)
)
propuesta <- proponer_modelo(perfilar(datos), datos)
propuesta[, c("metrica", "origen", "incluir")]
#> metrica origen incluir
#> 1 NoNulo perfil:n_faltantes_totales TRUE
#> 2 ReglaIntegridadIntraEntidad dependencia_funcional:categoria->codigo TRUE
#> 3 ReglaIntegridadIntraEntidad dependencia_funcional:codigo->categoria TRUE
#> 4 Formato perfil:patron_dominante:A FALSE
#> 5 ValoresPosiblesPorExtension perfil:dominio_observado FALSE