Releases: PALP31/easyModels
Releases · PALP31/easyModels
Release list
easyModels v0.4.2 — Experiencia de ajuste más clara y reproducible
✨ Experiencia de ajuste más clara y reproducible
- Se incorporó
resumir_ajuste(), una salida tabular de una fila con fórmula, familia, enlace, AIC, BIC, R² y el detalle de observaciones totales, utilizadas y excluidas. - Los objetos
easy_modelahora conservan ese detalle de muestra y lo muestran al imprimirse; si se omitieron filas, se advierte de forma explícita para evitar resultados interpretados con una muestra distinta a la esperada. - Los cuatro ajustadores principales (
analizar_lm(),analizar_glm(),analizar_lmm()yanalizar_glmm()) validan que los datos sean undata.frame, que la fórmula sea válida y que las variables existan antes de invocar el motor estadístico. - Se añadieron pruebas de regresión para el resumen de ajuste, el registro de filas omitidas y los mensajes de validación temprana.
📦 Instalación
devtools::install_github("PALP31/easyModels@v0.4.2")
# o versión más reciente en main:
devtools::install_github("PALP31/easyModels")easyModels v0.4.0 — Diseños Experimentales Avanzados, Auditoría de Supuestos & Figuras de Publicación
📦 easyModels v0.4.0 — Diseños Experimentales Avanzados, Auditoría de Supuestos & Figuras de Publicación
Esta nueva versión mayor de easyModels amplía significativamente el catálogo de diseños experimentales bioagronómicos, introduce herramientas automatizadas de auditoría de supuestos, selección de modelos multivariados por AIC, formateo de tablas para manuscritos y figuras de publicación en barras e interacciones con letras de Tukey (CLD).
🌾 1. Nuevos Diseños Experimentales
analizar_latino(): Ajuste de diseños en Cuadrado Latino (LSD) controlando fuentes ortogonales de variación ambiental en filas y columnas mediante efectos mixtos cruzados ((1|fila) + (1|columna)) o efectos fijos.analizar_medidas_repetidas(): Ajuste de modelos longitudinales y ensayos con Medidas Repetidas en el Tiempo sobre el mismo sujeto/planta/maceta ((1|sujeto)o(1|bloque/sujeto)).analizar_strip_plot(): Modelado de diseños en Franjas Divididas / Bloques Cruzados (Strip-Plot / Criss-Cross) con factores principales perpendiculares.
🔍 2. Auditoría Automatizada de Supuestos (verificar_supuestos)
- Batería completa de pruebas estadísticas:
-
Normalidad de residuos: Shapiro-Wilk (
$W$ y$p$ -valor exactos). - Homocedasticidad: Prueba de Breusch-Pagan y homogeneidad de varianza.
- Multicolinealidad: Factores de Inflación de Varianza (VIF).
- Autocorrelación: Estadístico de Durbin-Watson.
-
Valores Atípicos e Influyentes: Distancia de Cook con umbral
$D > 4/n$ .
-
Normalidad de residuos: Shapiro-Wilk (
- Reporte interactivo en consola mediante
clicon diagnósticos comprensibles y sugerencias bioestadísticas de corrección.
🤖 3. Asistente Bioestadístico de Transformación (sugerir_modelo)
- Analiza la variable de respuesta empírica (proporción de ceros, soporte acotado
$(0,1)$ , sobredispersión de conteos, asimetría continua positiva). - Calcula el parámetro de potencia óptimo de Box-Cox (
$\lambda$ ). - Recomienda la familia adecuada de GLM/GLMM (
gamma,beta,tweedie,zip,zinb,poisson,negativa_binomial) o la transformación adecuada para LM clásico.
📊 4. Selección y Comparación de Modelos (comparar_modelos)
- Compara múltiples modelos en una tabla unificada con:
- Criterio de Información de Akaike (
$AIC$ ) y Bayesiano ($BIC$ ). - Delta-AIC (
$\Delta AIC$ ) y Pesos de Akaike ($w_i$ ) para ponderación de evidencia. - Log-Verosimilitud (
$LogLik$ ) y coeficientes de determinación$R^2$ Marginal y Condicional.
- Criterio de Información de Akaike (
📄 5. Tablas Formateadas para Tesis y Publicaciones (exportar_tablas)
-
exportar_tabla_anova(): Formatea la tabla ANOVA con grados de libertad, estadístico$F/\chi^2$ , estrellas de significancia ($***, **, *, ns$ ) y tamaño del efecto (Eta-cuadrado parcial$\eta_p^2$ ). Compatible con Markdown, LaTeX ydata.frame. -
exportar_tabla_posthoc(): Exporta las medias marginales estimadas y grupos de letras Tukey en formato limpio para artículos.
🎨 6. Gráficos Científicos de Publicación
-
graficar_predichos():- Soporte para gráficos de barras (
tipo_grafico = "barras"), puntos y líneas con barras de error al 95% o SE. - Letras de significancia Tukey (CLD) alineadas automáticamente sobre las barras/puntos.
- Paletas de colores científicas integradas (
teal,viridis,cividis,set2,okabe_ito).
- Soporte para gráficos de barras (
-
graficar_interaccion(): Gráficos de efectos simples para interacciones de dos vías ($A \times B$ ).
🧪 7. Suite de Pruebas Unitarias
- 40 tests unitarios automatizados (
testthat) cubriendo todas las funciones con 100% de aprobación. - Vignette de uso
guia-easyModels.Rmdactualizada y compilada.
💻 Instalación / Actualización
# Instalar directamente desde GitHub
devtools::install_github("PALP31/easyModels")Autor: Paúl Alexander López Peña (Pontificia Universidad Católica de Chile)
easyModels v0.3.0 — 17 Familias GLM & 16 GLMM (glmmTMB)
🚀 easyModels v0.3.0
Nuevas Características y Mejoras
1. Expansión Masiva de Familias en analizar_glm() (17 Familias)
Ahora puedes ajustar modelos lineales generalizados con casi cualquier distribución común en agronomía y biología:
- Distribuciones de proporciones:
binomial(logit),binomial_probit,binomial_cloglog,quasibinomial, ybeta(víabetareg). - Distribuciones de conteo:
poisson,quasipoisson,negativa_binomial(víaMASS::glm.nb),zip(Zero-Inflated Poisson) yzinb(Zero-Inflated Binomial Negativa) víapscl. - Distribuciones continuas sesgadas/positivas:
gamma(con link log),gamma_inverse,gaussian_inversa, ytweedie(víastatmod). - Distribuciones categóricas:
ordinal(víaMASS::polr) ymultinomial(víannet).
2. Soporte para Estructuras de Efectos Mixtos Complejos en analizar_glmm() (16 Distribuciones)
Aprovecha el motor de glmmTMB para modelar efectos aleatorios en distribuciones avanzadas:
- Efectos mixtos continuos sesgados:
gamma,gamma_inverse, ylognormal. - Proporciones mixtas:
beta(tasas de germinación, coberturas). - Conteos mixtos zero-inflados:
zipyzinb. - Respuesta continua con ceros mixtos:
zifgamma(Zero-Inflated Gamma). - Modelos sobredispersos avanzados: parametrizaciones de binomial negativa
nbinom1ynbinom2. - Modelos mixtos ordinales:
ordinal(víaordinal::clmm).
3. Mensajes de Guía Fisiológica y Bioestadística
Al ajustar un modelo, el paquete imprime guías interactivas en la consola:
- Validación de que los datos de la respuesta sean estrictamente
> 0en distribuciones Gamma o Log-normal. - Validación del rango abierto
(0, 1)para la familia Beta, sugiriendo transformaciones clásicas (como la de Smithson & Verkuilen) si hay ceros u unos. - Guías de interpretación y sugerencias de correcciones por sobredispersión.
Instalación
devtools::install_github("PALP31/easyModels")easyModels v0.2.0 — Arquitectura S3 Unificada
🚀 easyModels v0.2.0
Nuevas características
- Arquitectura S3 unificada: todas las funciones (
analizar_lm,analizar_glm,analizar_lmm,analizar_glmm,analizar_bloques_azar,analizar_parcelas_divididas) devuelven objetos de claseeasy_modelóeasy_splitplot. - Métodos genéricos S3:
print(),summary(),plot()disponibles para todos los modelos con salida estilizada viacli. evaluar_modelo(): función unificada de diagnóstico que extrae AIC, BIC, R², ICC, singularidad y genera gráficos DHARMa automáticamente.obtener_emmeans(): separado deobtener_posthoc()para mayor flexibilidad.- Compact Letter Display (CLD) integrado en
obtener_posthoc(letras = TRUE)viamultcomp::cld(). - Tests unitarios de arquitectura S3: suite completa
tests/testthat/test-arquitectura.R— 12/12 PASS.
Correcciones de bugs
- 🐛 Fix crítico: error fatal
$ operator is invalid for atomic vectorsal llamarevaluar_modelo()oplot()sobre modelos singulares (glmerMod, merMod con varianza de efectos aleatorios = 0).performance::icc()yperformance::r2()devuelvenNAlógico en este caso y el operador$crasheaba. - ✅ Solución: helper interno
.safe_get()que detectaNAlógico, vectores atómicos y listas con valoresNA, extrayendo métricas de forma segura sin crashear. - 🔧 API consistente: parámetro
diagnostico_dharmarenombrado adiagnosticosenanalizar_glmm()para consistencia con todas las funcionesanalizar_*. - 📋 DESCRIPTION: limpiado para compatibilidad con
R CMD check(removidos caracteres multibyte en campos DCF,commentfield de Authors@R, y añadidocara Imports).
Instalación
# Desde GitHub
devtools::install_github("PALP31/easyModels")Uso básico
library(easyModels)
# Ajustar modelo mixto (devuelve objeto easy_model)
modelo <- analizar_lmm(datos, biomasa ~ tratamiento, aleatorios = "(1 | bloque)")
# S3 generics
print(modelo) # Caja estilizada con cli
summary(modelo) # Resumen + tabla ANOVA Tipo III
plot(modelo) # Diagnósticos R²/ICC/DHARMa (sin crash en modelos singulares)
# Post-hoc con letras Tukey
medias <- obtener_posthoc(modelo, predictor = "tratamiento", letras = TRUE)