Este documento presenta la evidencia de calidad del procesamiento estadístico utilizado para la estimación de valores de referencia del CAPL-2 versión Colombia en escolares de 8 a 12 años.
El objetivo no es repetir todos los resultados del manuscrito, sino dejar un soporte reproducible de los pasos analíticos principales: conformación de la muestra normativa, completitud de la información, selección de modelos GAMLSS, validación de percentiles, equivalencia con categorías oficiales del CAPL-2 y análisis complementario de componentes crudos.
Para ejecutar este R Markdown, los siguientes archivos deben estar
ubicados en la misma carpeta del documento .Rmd:
archivos_requeridos <- tibble::tibble(
archivo = c(
"FASE1_validacion_union_CAPL2_baremos.xlsx",
"FASE3_validacion_calculo_CAPL2_baremos_CORREGIDA.xlsx",
"FASE5B_GAMLSS_todos_puntajes_CAPL2_baremos.xlsx",
"FASE6A_tablas_finales_baremos_CAPL2_Colombia.xlsx",
"FASE6B_equivalencia_CAPL2_manual_percentiles_colombianos.xlsx",
"FASE8B_percentiles_empiricos_componentes_CAPL2_manual_AJUSTADA.xlsx"
)
)
archivos_requeridos <- archivos_requeridos %>%
mutate(
disponible = file.exists(archivo)
)
knitr::kable(
archivos_requeridos,
caption = "Archivos requeridos para la reproducción del reporte.",
align = "l"
) %>%
kableExtra::kable_styling(full_width = FALSE)| archivo | disponible |
|---|---|
| FASE1_validacion_union_CAPL2_baremos.xlsx | TRUE |
| FASE3_validacion_calculo_CAPL2_baremos_CORREGIDA.xlsx | TRUE |
| FASE5B_GAMLSS_todos_puntajes_CAPL2_baremos.xlsx | TRUE |
| FASE6A_tablas_finales_baremos_CAPL2_Colombia.xlsx | TRUE |
| FASE6B_equivalencia_CAPL2_manual_percentiles_colombianos.xlsx | TRUE |
| FASE8B_percentiles_empiricos_componentes_CAPL2_manual_AJUSTADA.xlsx | TRUE |
leer_si_existe <- function(archivo, hoja = 1){
if(file.exists(archivo)){
readxl::read_excel(archivo, sheet = hoja)
} else {
warning(paste("No se encontró el archivo:", archivo))
NULL
}
}
# Fase 1: validación de unión de bases
fase1_archivo <- "FASE1_validacion_union_CAPL2_baremos.xlsx"
# Fase 5B: comparación de modelos y percentiles GAMLSS
fase5b_archivo <- "FASE5B_GAMLSS_todos_puntajes_CAPL2_baremos.xlsx"
# Fase 6A: tablas finales de baremos
fase6a_archivo <- "FASE6A_tablas_finales_baremos_CAPL2_Colombia.xlsx"
# Fase 6B: equivalencia con categorías oficiales
fase6b_archivo <- "FASE6B_equivalencia_CAPL2_manual_percentiles_colombianos.xlsx"
# Fase 8B ajustada: componentes crudos
fase8b_archivo <- "FASE8B_percentiles_empiricos_componentes_CAPL2_manual_AJUSTADA.xlsx"
# Lectura flexible de hojas disponibles
hojas_fase5b <- if(file.exists(fase5b_archivo)) readxl::excel_sheets(fase5b_archivo) else character(0)
hojas_fase6a <- if(file.exists(fase6a_archivo)) readxl::excel_sheets(fase6a_archivo) else character(0)
hojas_fase6b <- if(file.exists(fase6b_archivo)) readxl::excel_sheets(fase6b_archivo) else character(0)
hojas_fase8b <- if(file.exists(fase8b_archivo)) readxl::excel_sheets(fase8b_archivo) else character(0)
list(
fase5b = hojas_fase5b,
fase6a = hojas_fase6a,
fase6b = hojas_fase6b,
fase8b = hojas_fase8b
)## $fase5b
## [1] "comparacion_modelos" "mejores_modelos" "percentiles_todos"
## [4] "percentiles_largos" "percentiles_figura"
##
## $fase6a
## [1] "baremos_todos" "competencia_fisica"
## [3] "comportamiento_diario" "motivacion_confianza"
## [5] "conocimiento_comprension" "capl_total"
##
## $fase6b
## [1] "categorias_oficiales" "categorias_edad_sexo" "rangos_categoria"
## [4] "equivalencia_percentil" "resumen_equivalencia"
##
## $fase8b
## [1] "disponibilidad_componentes" "percentiles_principales"
## [3] "percentiles_completos" "validacion"
## [5] "resumen_validacion"
La muestra normativa estuvo conformada por 843 escolares colombianos de 8 a 12 años. La estructura de la base fue verificada antes de la estimación de percentiles, considerando la distribución por subregión, sexo y edad, así como la disponibilidad de información válida para cada dominio del CAPL-2.
tabla_muestra <- tibble::tribble(
~Subregion, ~Total, ~Ninas, ~Ninos, ~Edad_8, ~Edad_9, ~Edad_10, ~Edad_11, ~Edad_12,
"Caribe", 140, 70, 70, 28, 30, 30, 30, 22,
"Pacífico", 140, 70, 70, 28, 28, 28, 30, 26,
"Centro-Oriente", 140, 74, 66, 28, 28, 29, 24, 31,
"Centro sur-Amazonía", 141, 69, 72, 28, 28, 28, 30, 27,
"Eje cafetero-Antioquia", 141, 71, 70, 28, 28, 28, 28, 29,
"Llanos-Orinoquía", 141, 71, 70, 28, 28, 28, 28, 29
) %>%
mutate(
Porcentaje = round(100 * Total / sum(Total), 1)
)
knitr::kable(
tabla_muestra,
caption = "Distribución de la muestra normativa por subregión, sexo y edad.",
align = "lrrrrrrrr"
) %>%
kableExtra::kable_styling(full_width = FALSE)| Subregion | Total | Ninas | Ninos | Edad_8 | Edad_9 | Edad_10 | Edad_11 | Edad_12 | Porcentaje |
|---|---|---|---|---|---|---|---|---|---|
| Caribe | 140 | 70 | 70 | 28 | 30 | 30 | 30 | 22 | 16.6 |
| Pacífico | 140 | 70 | 70 | 28 | 28 | 28 | 30 | 26 | 16.6 |
| Centro-Oriente | 140 | 74 | 66 | 28 | 28 | 29 | 24 | 31 | 16.6 |
| Centro sur-Amazonía | 141 | 69 | 72 | 28 | 28 | 28 | 30 | 27 | 16.7 |
| Eje cafetero-Antioquia | 141 | 71 | 70 | 28 | 28 | 28 | 28 | 29 | 16.7 |
| Llanos-Orinoquía | 141 | 71 | 70 | 28 | 28 | 28 | 28 | 29 | 16.7 |
completitud_dominios <- tibble::tribble(
~Dominio, ~Variable, ~n_valido, ~porcentaje_valido,
"Competencia física", "pc_score", 829, 98.3,
"Comportamiento diario", "db_score", 819, 97.2,
"Motivación y confianza", "mc_score", 834, 98.9,
"Conocimiento y comprensión", "ku_score", 839, 99.5,
"CAPL total", "capl_score", 816, 96.8
)
knitr::kable(
completitud_dominios,
caption = "Completitud de información por dominio y puntaje total del CAPL-2.",
align = "llrr"
) %>%
kableExtra::kable_styling(full_width = FALSE)| Dominio | Variable | n_valido | porcentaje_valido |
|---|---|---|---|
| Competencia física | pc_score | 829 | 98.3 |
| Comportamiento diario | db_score | 819 | 97.2 |
| Motivación y confianza | mc_score | 834 | 98.9 |
| Conocimiento y comprensión | ku_score | 839 | 99.5 |
| CAPL total | capl_score | 816 | 96.8 |
Para cada dominio y sexo se evaluaron cuatro familias de distribución dentro del enfoque GAMLSS: NO, BCCG, BCPE y BCT. La selección se realizó considerando convergencia del modelo, menor GAIC, revisión complementaria del SBC y plausibilidad de las curvas percentílicas.
modelos_seleccionados <- tibble::tribble(
~Dominio, ~Variable, ~Sexo, ~n, ~Modelo, ~GAIC, ~SBC,
"Competencia física", "pc_score", "Niñas", 417, "BCCG", 2452.32, 2472.49,
"Competencia física", "pc_score", "Niños", 412, "NO", 2638.96, 2655.04,
"Comportamiento diario", "db_score", "Niñas", 414, "BCPE", 2613.88, 2638.03,
"Comportamiento diario", "db_score", "Niños", 405, "BCPE", 2637.97, 2661.99,
"Motivación y confianza", "mc_score", "Niñas", 419, "BCPE", 2341.18, 2365.41,
"Motivación y confianza", "mc_score", "Niños", 415, "BCPE", 2290.78, 2314.95,
"Conocimiento y comprensión", "ku_score", "Niñas", 423, "NO", 1997.36, 2013.55,
"Conocimiento y comprensión", "ku_score", "Niños", 416, "NO", 1963.13, 1979.25,
"CAPL total", "capl_score", "Niñas", 413, "BCPE", 3174.30, 3198.44,
"CAPL total", "capl_score", "Niños", 403, "NO", 3067.32, 3083.32
)
knitr::kable(
modelos_seleccionados,
caption = "Modelos GAMLSS seleccionados para la estimación de percentiles.",
align = "lllrrrr"
) %>%
kableExtra::kable_styling(full_width = FALSE)| Dominio | Variable | Sexo | n | Modelo | GAIC | SBC |
|---|---|---|---|---|---|---|
| Competencia física | pc_score | Niñas | 417 | BCCG | 2452.32 | 2472.49 |
| Competencia física | pc_score | Niños | 412 | NO | 2638.96 | 2655.04 |
| Comportamiento diario | db_score | Niñas | 414 | BCPE | 2613.88 | 2638.03 |
| Comportamiento diario | db_score | Niños | 405 | BCPE | 2637.97 | 2661.99 |
| Motivación y confianza | mc_score | Niñas | 419 | BCPE | 2341.18 | 2365.41 |
| Motivación y confianza | mc_score | Niños | 415 | BCPE | 2290.78 | 2314.95 |
| Conocimiento y comprensión | ku_score | Niñas | 423 | NO | 1997.36 | 2013.55 |
| Conocimiento y comprensión | ku_score | Niños | 416 | NO | 1963.13 | 1979.25 |
| CAPL total | capl_score | Niñas | 413 | BCPE | 3174.30 | 3198.44 |
| CAPL total | capl_score | Niños | 403 | NO | 3067.32 | 3083.32 |
Los percentiles principales del documento corresponden a P5, P25, P50, P75 y P95. Para el baremo completo se estimaron percentiles desde P5 hasta P95 en intervalos de cinco unidades percentílicas.
# Intentar cargar percentiles principales desde FASE6A.
# Si la hoja no existe, se construye una tabla interna con los valores principales.
percentiles_principales <- NULL
if(file.exists(fase6a_archivo)){
hojas <- readxl::excel_sheets(fase6a_archivo)
hoja_posible <- hojas[stringr::str_detect(tolower(hojas), "all|principal|baremo|percent")]
if(length(hoja_posible) > 0){
percentiles_principales <- readxl::read_excel(fase6a_archivo, sheet = hoja_posible[1])
}
}
if(is.null(percentiles_principales)){
percentiles_principales <- tibble::tribble(
~Dominio, ~Sexo, ~Edad, ~P5, ~P25, ~P50, ~P75, ~P95,
"Competencia física", "Niñas", 8, 2.91, 5.97, 8.81, 12.27, 18.36,
"Competencia física", "Niñas", 9, 3.40, 6.55, 9.42, 12.88, 18.89,
"Competencia física", "Niñas", 10, 3.92, 7.15, 10.04, 13.47, 19.39,
"Competencia física", "Niñas", 11, 4.46, 7.76, 10.65, 14.05, 19.86,
"Competencia física", "Niñas", 12, 5.04, 8.38, 11.27, 14.62, 20.31,
"Competencia física", "Niños", 8, 3.11, 8.29, 11.88, 15.48, 20.65,
"Competencia física", "Niños", 9, 3.54, 8.98, 12.77, 16.55, 22.00,
"Competencia física", "Niños", 10, 3.94, 9.67, 13.65, 17.64, 23.37,
"Competencia física", "Niños", 11, 4.32, 10.35, 14.54, 18.73, 24.76,
"Competencia física", "Niños", 12, 4.66, 11.01, 15.42, 19.84, 26.18,
"Comportamiento diario", "Niñas", 8, 4.05, 7.26, 11.22, 16.17, 22.64,
"Comportamiento diario", "Niñas", 9, 4.40, 7.72, 11.79, 16.84, 23.42,
"Comportamiento diario", "Niñas", 10, 4.76, 8.19, 12.35, 17.51, 24.17,
"Comportamiento diario", "Niñas", 11, 5.13, 8.66, 12.92, 18.16, 24.91,
"Comportamiento diario", "Niñas", 12, 5.52, 9.15, 13.49, 18.81, 25.63,
"Comportamiento diario", "Niños", 8, 6.34, 11.02, 16.23, 21.54, 26.53,
"Comportamiento diario", "Niños", 9, 6.27, 11.03, 16.32, 21.71, 26.78,
"Comportamiento diario", "Niños", 10, 6.21, 11.04, 16.40, 21.88, 27.03,
"Comportamiento diario", "Niños", 11, 6.15, 11.04, 16.49, 22.05, 27.28,
"Comportamiento diario", "Niños", 12, 6.08, 11.05, 16.58, 22.22, 27.53,
"Motivación y confianza", "Niñas", 8, 16.94, 20.70, 24.13, 27.15, 29.68,
"Motivación y confianza", "Niñas", 9, 16.44, 20.27, 23.76, 26.81, 29.36,
"Motivación y confianza", "Niñas", 10, 15.94, 19.85, 23.38, 26.46, 29.03,
"Motivación y confianza", "Niñas", 11, 15.44, 19.43, 23.01, 26.12, 28.71,
"Motivación y confianza", "Niñas", 12, 14.93, 19.00, 22.63, 25.77, 28.38,
"Motivación y confianza", "Niños", 8, 15.97, 20.20, 24.12, 27.30, 29.57,
"Motivación y confianza", "Niños", 9, 16.07, 20.25, 24.13, 27.29, 29.54,
"Motivación y confianza", "Niños", 10, 16.17, 20.29, 24.14, 27.28, 29.52,
"Motivación y confianza", "Niños", 11, 16.27, 20.34, 24.15, 27.27, 29.49,
"Motivación y confianza", "Niños", 12, 16.36, 20.38, 24.16, 27.25, 29.46,
"Conocimiento y comprensión", "Niñas", 8, 1.25, 3.64, 5.31, 6.98, 9.37,
"Conocimiento y comprensión", "Niñas", 9, 1.19, 3.62, 5.31, 7.00, 9.43,
"Conocimiento y comprensión", "Niñas", 10, 1.14, 3.60, 5.31, 7.03, 9.49,
"Conocimiento y comprensión", "Niñas", 11, 1.08, 3.58, 5.32, 7.05, 9.55,
"Conocimiento y comprensión", "Niñas", 12, 1.02, 3.56, 5.32, 7.08, 9.62,
"Conocimiento y comprensión", "Niños", 8, 1.45, 3.78, 5.40, 7.02, 9.34,
"Conocimiento y comprensión", "Niños", 9, 1.38, 3.78, 5.44, 7.11, 9.50,
"Conocimiento y comprensión", "Niños", 10, 1.31, 3.78, 5.49, 7.20, 9.67,
"Conocimiento y comprensión", "Niños", 11, 1.24, 3.77, 5.54, 7.30, 9.83,
"Conocimiento y comprensión", "Niños", 12, 1.16, 3.77, 5.58, 7.40, 10.00,
"CAPL total", "Niñas", 8, 32.05, 41.66, 49.78, 58.18, 68.92,
"CAPL total", "Niñas", 9, 32.94, 42.53, 50.61, 58.97, 69.65,
"CAPL total", "Niñas", 10, 33.85, 43.40, 51.44, 59.75, 70.37,
"CAPL total", "Niñas", 11, 34.75, 44.27, 52.27, 60.54, 71.09,
"CAPL total", "Niñas", 12, 35.66, 45.14, 53.10, 61.32, 71.80,
"CAPL total", "Niños", 8, 38.90, 49.16, 56.29, 63.42, 73.68,
"CAPL total", "Niños", 9, 40.18, 50.54, 57.74, 64.94, 75.30,
"CAPL total", "Niños", 10, 41.47, 51.92, 59.19, 66.46, 76.92,
"CAPL total", "Niños", 11, 42.75, 53.30, 60.64, 67.98, 78.54,
"CAPL total", "Niños", 12, 44.03, 54.69, 62.09, 69.50, 80.16
)
}
percentiles_principales <- percentiles_principales %>%
rename_with(~stringr::str_replace_all(.x, " ", "_")) %>%
rename_with(~stringr::str_replace_all(.x, "\\.", "_"))
names(percentiles_principales)## [1] "dominio" "variable" "sexo" "modelo" "edad" "P5"
## [7] "P10" "P15" "P20" "P25" "P30" "P35"
## [13] "P40" "P45" "P50" "P55" "P60" "P65"
## [19] "P70" "P75" "P80" "P85" "P90" "P95"
knitr::kable(
percentiles_principales,
caption = "Percentiles principales del CAPL-2 versión Colombia por dominio, sexo y edad.",
digits = 2
) %>%
kableExtra::kable_styling(full_width = FALSE)| dominio | variable | sexo | modelo | edad | P5 | P10 | P15 | P20 | P25 | P30 | P35 | P40 | P45 | P50 | P55 | P60 | P65 | P70 | P75 | P80 | P85 | P90 | P95 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CAPL total | capl_score | Niñas | BCPE | 8 | 32.05 | 35.40 | 37.82 | 39.84 | 41.66 | 43.37 | 45.00 | 46.60 | 48.19 | 49.78 | 51.39 | 53.01 | 54.66 | 56.37 | 58.18 | 60.14 | 62.37 | 65.07 | 68.92 |
| CAPL total | capl_score | Niñas | BCPE | 9 | 32.94 | 36.28 | 38.69 | 40.72 | 42.53 | 44.23 | 45.85 | 47.45 | 49.03 | 50.61 | 52.21 | 53.82 | 55.47 | 57.17 | 58.97 | 60.92 | 63.13 | 65.82 | 69.65 |
| CAPL total | capl_score | Niñas | BCPE | 10 | 33.85 | 37.17 | 39.58 | 41.59 | 43.40 | 45.08 | 46.71 | 48.29 | 49.87 | 51.44 | 53.03 | 54.63 | 56.27 | 57.97 | 59.75 | 61.70 | 63.89 | 66.57 | 70.37 |
| CAPL total | capl_score | Niñas | BCPE | 11 | 34.75 | 38.07 | 40.46 | 42.47 | 44.27 | 45.95 | 47.56 | 49.14 | 50.71 | 52.27 | 53.85 | 55.45 | 57.08 | 58.76 | 60.54 | 62.47 | 64.65 | 67.31 | 71.09 |
| CAPL total | capl_score | Niñas | BCPE | 12 | 35.66 | 38.97 | 41.35 | 43.35 | 45.14 | 46.81 | 48.41 | 49.99 | 51.54 | 53.10 | 54.67 | 56.26 | 57.88 | 59.55 | 61.32 | 63.24 | 65.41 | 68.05 | 71.80 |
| CAPL total | capl_score | Niños | NO | 8 | 38.90 | 42.74 | 45.33 | 47.39 | 49.16 | 50.74 | 52.21 | 53.61 | 54.96 | 56.29 | 57.62 | 58.97 | 60.36 | 61.83 | 63.42 | 65.19 | 67.25 | 69.84 | 73.68 |
| CAPL total | capl_score | Niños | NO | 9 | 40.18 | 44.06 | 46.68 | 48.76 | 50.54 | 52.14 | 53.63 | 55.04 | 56.40 | 57.74 | 59.08 | 60.44 | 61.85 | 63.34 | 64.94 | 66.72 | 68.80 | 71.42 | 75.30 |
| CAPL total | capl_score | Niños | NO | 10 | 41.47 | 45.38 | 48.02 | 50.12 | 51.92 | 53.54 | 55.04 | 56.46 | 57.84 | 59.19 | 60.55 | 61.92 | 63.34 | 64.84 | 66.46 | 68.26 | 70.36 | 73.00 | 76.92 |
| CAPL total | capl_score | Niños | NO | 11 | 42.75 | 46.70 | 49.37 | 51.49 | 53.30 | 54.94 | 56.45 | 57.89 | 59.28 | 60.64 | 62.01 | 63.40 | 64.83 | 66.35 | 67.98 | 69.80 | 71.92 | 74.59 | 78.54 |
| CAPL total | capl_score | Niños | NO | 12 | 44.03 | 48.02 | 50.71 | 52.85 | 54.69 | 56.33 | 57.86 | 59.31 | 60.71 | 62.09 | 63.47 | 64.88 | 66.33 | 67.85 | 69.50 | 71.34 | 73.48 | 76.17 | 80.16 |
| Competencia física | pc_score | Niñas | BCCG | 8 | 2.91 | 3.92 | 4.69 | 5.36 | 5.97 | 6.55 | 7.11 | 7.67 | 8.23 | 8.81 | 9.41 | 10.04 | 10.71 | 11.44 | 12.27 | 13.22 | 14.39 | 15.92 | 18.36 |
| Competencia física | pc_score | Niñas | BCCG | 9 | 3.40 | 4.45 | 5.24 | 5.93 | 6.55 | 7.14 | 7.71 | 8.28 | 8.85 | 9.42 | 10.02 | 10.65 | 11.32 | 12.06 | 12.88 | 13.82 | 14.97 | 16.49 | 18.89 |
| Competencia física | pc_score | Niñas | BCCG | 10 | 3.92 | 5.00 | 5.82 | 6.52 | 7.15 | 7.75 | 8.32 | 8.89 | 9.46 | 10.04 | 10.64 | 11.26 | 11.93 | 12.66 | 13.47 | 14.41 | 15.54 | 17.03 | 19.39 |
| Competencia física | pc_score | Niñas | BCCG | 11 | 4.46 | 5.58 | 6.41 | 7.12 | 7.76 | 8.36 | 8.94 | 9.51 | 10.08 | 10.65 | 11.25 | 11.87 | 12.53 | 13.25 | 14.05 | 14.97 | 16.09 | 17.56 | 19.86 |
| Competencia física | pc_score | Niñas | BCCG | 12 | 5.04 | 6.18 | 7.03 | 7.74 | 8.38 | 8.98 | 9.56 | 10.13 | 10.69 | 11.27 | 11.86 | 12.47 | 13.13 | 13.83 | 14.62 | 15.53 | 16.62 | 18.06 | 20.31 |
| Competencia física | pc_score | Niños | NO | 8 | 3.11 | 5.05 | 6.36 | 7.40 | 8.29 | 9.09 | 9.83 | 10.53 | 11.21 | 11.88 | 12.55 | 13.23 | 13.94 | 14.68 | 15.48 | 16.37 | 17.41 | 18.72 | 20.65 |
| Competencia física | pc_score | Niños | NO | 9 | 3.54 | 5.58 | 6.95 | 8.05 | 8.98 | 9.83 | 10.61 | 11.35 | 12.06 | 12.77 | 13.47 | 14.19 | 14.93 | 15.71 | 16.55 | 17.49 | 18.58 | 19.96 | 22.00 |
| Competencia física | pc_score | Niños | NO | 10 | 3.94 | 6.09 | 7.53 | 8.68 | 9.67 | 10.56 | 11.38 | 12.16 | 12.91 | 13.65 | 14.40 | 15.15 | 15.93 | 16.75 | 17.64 | 18.62 | 19.77 | 21.22 | 23.37 |
| Competencia física | pc_score | Niños | NO | 11 | 4.32 | 6.57 | 8.10 | 9.31 | 10.35 | 11.28 | 12.14 | 12.96 | 13.76 | 14.54 | 15.32 | 16.11 | 16.93 | 17.80 | 18.73 | 19.77 | 20.98 | 22.50 | 24.76 |
| Competencia física | pc_score | Niños | NO | 12 | 4.66 | 7.04 | 8.64 | 9.92 | 11.01 | 11.99 | 12.90 | 13.77 | 14.60 | 15.42 | 16.25 | 17.08 | 17.94 | 18.85 | 19.84 | 20.93 | 22.20 | 23.81 | 26.18 |
| Comportamiento diario | db_score | Niñas | BCPE | 8 | 4.05 | 5.00 | 5.79 | 6.53 | 7.26 | 7.99 | 8.75 | 9.53 | 10.36 | 11.22 | 12.12 | 13.05 | 14.04 | 15.07 | 16.17 | 17.37 | 18.72 | 20.35 | 22.64 |
| Comportamiento diario | db_score | Niñas | BCPE | 9 | 4.40 | 5.39 | 6.21 | 6.97 | 7.72 | 8.47 | 9.25 | 10.06 | 10.90 | 11.79 | 12.70 | 13.66 | 14.67 | 15.72 | 16.84 | 18.06 | 19.44 | 21.10 | 23.42 |
| Comportamiento diario | db_score | Niñas | BCPE | 10 | 4.76 | 5.78 | 6.63 | 7.42 | 8.19 | 8.96 | 9.76 | 10.59 | 11.45 | 12.35 | 13.29 | 14.27 | 15.29 | 16.37 | 17.51 | 18.75 | 20.14 | 21.83 | 24.17 |
| Comportamiento diario | db_score | Niñas | BCPE | 11 | 5.13 | 6.19 | 7.06 | 7.87 | 8.66 | 9.46 | 10.28 | 11.12 | 12.00 | 12.92 | 13.88 | 14.87 | 15.91 | 17.00 | 18.16 | 19.42 | 20.83 | 22.54 | 24.91 |
| Comportamiento diario | db_score | Niñas | BCPE | 12 | 5.52 | 6.61 | 7.50 | 8.33 | 9.15 | 9.96 | 10.80 | 11.66 | 12.56 | 13.49 | 14.46 | 15.47 | 16.53 | 17.63 | 18.81 | 20.08 | 21.51 | 23.23 | 25.63 |
| Comportamiento diario | db_score | Niños | BCPE | 8 | 6.34 | 7.74 | 8.90 | 9.98 | 11.02 | 12.06 | 13.09 | 14.13 | 15.18 | 16.23 | 17.28 | 18.34 | 19.40 | 20.47 | 21.54 | 22.64 | 23.77 | 25.01 | 26.53 |
| Comportamiento diario | db_score | Niños | BCPE | 9 | 6.27 | 7.70 | 8.88 | 9.97 | 11.03 | 12.08 | 13.13 | 14.19 | 15.25 | 16.32 | 17.38 | 18.46 | 19.54 | 20.62 | 21.71 | 22.82 | 23.98 | 25.24 | 26.78 |
| Comportamiento diario | db_score | Niños | BCPE | 10 | 6.21 | 7.66 | 8.85 | 9.96 | 11.04 | 12.10 | 13.17 | 14.24 | 15.32 | 16.40 | 17.49 | 18.58 | 19.67 | 20.77 | 21.88 | 23.01 | 24.18 | 25.46 | 27.03 |
| Comportamiento diario | db_score | Niños | BCPE | 11 | 6.15 | 7.61 | 8.82 | 9.95 | 11.04 | 12.13 | 13.21 | 14.30 | 15.39 | 16.49 | 17.59 | 18.70 | 19.81 | 20.92 | 22.05 | 23.20 | 24.39 | 25.69 | 27.28 |
| Comportamiento diario | db_score | Niños | BCPE | 12 | 6.08 | 7.57 | 8.80 | 9.94 | 11.05 | 12.15 | 13.25 | 14.35 | 15.46 | 16.58 | 17.69 | 18.82 | 19.95 | 21.08 | 22.22 | 23.39 | 24.60 | 25.91 | 27.53 |
| Conocimiento y comprensión | ku_score | Niñas | NO | 8 | 1.25 | 2.14 | 2.75 | 3.23 | 3.64 | 4.01 | 4.36 | 4.68 | 5.00 | 5.31 | 5.62 | 5.93 | 6.26 | 6.60 | 6.98 | 7.39 | 7.87 | 8.47 | 9.37 |
| Conocimiento y comprensión | ku_score | Niñas | NO | 9 | 1.19 | 2.10 | 2.72 | 3.20 | 3.62 | 4.00 | 4.35 | 4.68 | 5.00 | 5.31 | 5.63 | 5.95 | 6.28 | 6.63 | 7.00 | 7.42 | 7.91 | 8.52 | 9.43 |
| Conocimiento y comprensión | ku_score | Niñas | NO | 10 | 1.14 | 2.06 | 2.68 | 3.18 | 3.60 | 3.98 | 4.34 | 4.67 | 5.00 | 5.31 | 5.63 | 5.96 | 6.29 | 6.65 | 7.03 | 7.45 | 7.95 | 8.57 | 9.49 |
| Conocimiento y comprensión | ku_score | Niñas | NO | 11 | 1.08 | 2.02 | 2.65 | 3.15 | 3.58 | 3.97 | 4.32 | 4.66 | 4.99 | 5.32 | 5.64 | 5.97 | 6.31 | 6.67 | 7.05 | 7.49 | 7.99 | 8.62 | 9.55 |
| Conocimiento y comprensión | ku_score | Niñas | NO | 12 | 1.02 | 1.97 | 2.61 | 3.12 | 3.56 | 3.95 | 4.31 | 4.66 | 4.99 | 5.32 | 5.65 | 5.98 | 6.33 | 6.69 | 7.08 | 7.52 | 8.03 | 8.67 | 9.62 |
| Conocimiento y comprensión | ku_score | Niños | NO | 8 | 1.45 | 2.32 | 2.91 | 3.38 | 3.78 | 4.14 | 4.47 | 4.79 | 5.10 | 5.40 | 5.70 | 6.01 | 6.32 | 6.66 | 7.02 | 7.42 | 7.88 | 8.47 | 9.34 |
| Conocimiento y comprensión | ku_score | Niños | NO | 9 | 1.38 | 2.28 | 2.89 | 3.37 | 3.78 | 4.15 | 4.49 | 4.82 | 5.13 | 5.44 | 5.75 | 6.07 | 6.39 | 6.74 | 7.11 | 7.52 | 8.00 | 8.61 | 9.50 |
| Conocimiento y comprensión | ku_score | Niños | NO | 10 | 1.31 | 2.23 | 2.86 | 3.35 | 3.78 | 4.16 | 4.51 | 4.85 | 5.17 | 5.49 | 5.81 | 6.13 | 6.47 | 6.82 | 7.20 | 7.63 | 8.12 | 8.75 | 9.67 |
| Conocimiento y comprensión | ku_score | Niños | NO | 11 | 1.24 | 2.19 | 2.83 | 3.34 | 3.77 | 4.17 | 4.53 | 4.87 | 5.21 | 5.54 | 5.86 | 6.20 | 6.54 | 6.91 | 7.30 | 7.74 | 8.24 | 8.89 | 9.83 |
| Conocimiento y comprensión | ku_score | Niños | NO | 12 | 1.16 | 2.14 | 2.80 | 3.32 | 3.77 | 4.17 | 4.55 | 4.90 | 5.24 | 5.58 | 5.92 | 6.26 | 6.62 | 6.99 | 7.40 | 7.85 | 8.37 | 9.03 | 10.00 |
| Motivación y confianza | mc_score | Niñas | BCPE | 8 | 16.94 | 18.16 | 19.10 | 19.93 | 20.70 | 21.43 | 22.14 | 22.82 | 23.48 | 24.13 | 24.76 | 25.38 | 25.98 | 26.57 | 27.15 | 27.73 | 28.32 | 28.94 | 29.68 |
| Motivación y confianza | mc_score | Niñas | BCPE | 9 | 16.44 | 17.69 | 18.65 | 19.49 | 20.27 | 21.02 | 21.73 | 22.43 | 23.10 | 23.76 | 24.40 | 25.02 | 25.63 | 26.22 | 26.81 | 27.39 | 27.98 | 28.61 | 29.36 |
| Motivación y confianza | mc_score | Niñas | BCPE | 10 | 15.94 | 17.21 | 18.19 | 19.05 | 19.85 | 20.61 | 21.33 | 22.04 | 22.72 | 23.38 | 24.03 | 24.66 | 25.27 | 25.87 | 26.46 | 27.05 | 27.65 | 28.28 | 29.03 |
| Motivación y confianza | mc_score | Niñas | BCPE | 11 | 15.44 | 16.74 | 17.74 | 18.62 | 19.43 | 20.19 | 20.93 | 21.64 | 22.34 | 23.01 | 23.66 | 24.29 | 24.91 | 25.52 | 26.12 | 26.71 | 27.31 | 27.95 | 28.71 |
| Motivación y confianza | mc_score | Niñas | BCPE | 12 | 14.93 | 16.27 | 17.29 | 18.18 | 19.00 | 19.78 | 20.53 | 21.25 | 21.95 | 22.63 | 23.29 | 23.93 | 24.56 | 25.17 | 25.77 | 26.37 | 26.97 | 27.61 | 28.38 |
| Motivación y confianza | mc_score | Niños | BCPE | 8 | 15.97 | 17.23 | 18.30 | 19.29 | 20.20 | 21.07 | 21.89 | 22.66 | 23.40 | 24.12 | 24.80 | 25.46 | 26.09 | 26.71 | 27.30 | 27.88 | 28.45 | 29.00 | 29.57 |
| Motivación y confianza | mc_score | Niños | BCPE | 9 | 16.07 | 17.31 | 18.37 | 19.34 | 20.25 | 21.10 | 21.91 | 22.68 | 23.42 | 24.13 | 24.80 | 25.46 | 26.09 | 26.70 | 27.29 | 27.87 | 28.43 | 28.98 | 29.54 |
| Motivación y confianza | mc_score | Niños | BCPE | 10 | 16.17 | 17.39 | 18.43 | 19.39 | 20.29 | 21.14 | 21.94 | 22.71 | 23.44 | 24.14 | 24.81 | 25.46 | 26.08 | 26.69 | 27.28 | 27.85 | 28.41 | 28.95 | 29.52 |
| Motivación y confianza | mc_score | Niños | BCPE | 11 | 16.27 | 17.46 | 18.50 | 19.45 | 20.34 | 21.18 | 21.97 | 22.73 | 23.45 | 24.15 | 24.81 | 25.46 | 26.08 | 26.68 | 27.27 | 27.83 | 28.39 | 28.93 | 29.49 |
| Motivación y confianza | mc_score | Niños | BCPE | 12 | 16.36 | 17.54 | 18.56 | 19.50 | 20.38 | 21.21 | 22.00 | 22.75 | 23.47 | 24.16 | 24.82 | 25.46 | 26.08 | 26.67 | 27.25 | 27.82 | 28.37 | 28.91 | 29.46 |
La validación verificó tres aspectos:
# Normalizar nombres esperados
datos_val <- percentiles_principales
# Detección flexible de columnas
col_dominio <- names(datos_val)[tolower(names(datos_val)) %in% c("dominio")]
col_sexo <- names(datos_val)[tolower(names(datos_val)) %in% c("sexo")]
col_edad <- names(datos_val)[tolower(names(datos_val)) %in% c("edad")]
cols_p <- names(datos_val)[stringr::str_detect(names(datos_val), "^P[0-9]+$")]
validacion_cruces <- datos_val %>%
rowwise() %>%
mutate(
sin_cruces = all(diff(c_across(all_of(cols_p))) >= 0)
) %>%
ungroup()
resumen_validacion <- tibble::tibble(
indicador = c(
"Filas esperadas",
"Filas observadas",
"Todos los percentiles ordenados"
),
resultado = c(
5 * 2 * 5,
nrow(datos_val),
all(validacion_cruces$sin_cruces)
)
)
knitr::kable(
resumen_validacion,
caption = "Resumen de validación de percentiles principales.",
align = "lr"
) %>%
kableExtra::kable_styling(full_width = FALSE)| indicador | resultado |
|---|---|
| Filas esperadas | 50 |
| Filas observadas | 50 |
| Todos los percentiles ordenados | 1 |
datos_fig <- percentiles_principales %>%
rename_with(~stringr::str_replace_all(.x, "_", " ")) %>%
rename(
Dominio = dominio,
Sexo = sexo,
Edad = edad
) %>%
pivot_longer(
cols = c(P5, P25, P50, P75, P95),
names_to = "Percentil",
values_to = "Puntaje"
) %>%
mutate(
Percentil = factor(Percentil, levels = c("P5", "P25", "P50", "P75", "P95")),
Edad = as.numeric(Edad)
)
ggplot(datos_fig, aes(x = Edad, y = Puntaje, group = Percentil, linetype = Percentil)) +
geom_line(linewidth = 0.8) +
geom_point(size = 1.8) +
facet_grid(Dominio ~ Sexo, scales = "free_y") +
labs(
x = "Edad (años)",
y = "Puntaje",
linetype = "Percentil"
) +
theme_minimal(base_size = 12) +
theme(
panel.grid.minor = element_blank(),
strip.text = element_text(face = "bold")
)Curvas percentílicas principales del CAPL-2 versión Colombia por dominio, edad y sexo.
Este análisis ubicó los puntos de corte oficiales del CAPL-2 dentro de la distribución percentílica colombiana. No modifica las categorías originales del instrumento; permite interpretar su posición relativa en la muestra colombiana.
equivalencia <- tibble::tribble(
~Dominio, ~Categoria_oficial, ~Percentil_mediano, ~Rango_percentilico,
"CAPL total", "Progressing", 34.5, "17.4–52.8",
"CAPL total", "Achieving", 87.0, "79.7–95.0",
"CAPL total", "Excelling", 95.0, "93.3–95.0",
"Competencia física", "Progressing", 72.8, "47.4–85.1",
"Competencia física", "Achieving", 93.8, "85.1–95.0",
"Competencia física", "Excelling", 95.0, "93.3–95.0",
"Comportamiento diario", "Progressing", 26.1, "15.5–48.7",
"Comportamiento diario", "Achieving", 82.4, "78.3–93.6",
"Comportamiento diario", "Excelling", 95.0, "93.4–95.0",
"Conocimiento y comprensión", "Progressing", 50.6, "42.3–60.6",
"Conocimiento y comprensión", "Achieving", 82.0, "73.5–85.4",
"Conocimiento y comprensión", "Excelling", 90.2, "85.0–92.3",
"Motivación y confianza", "Progressing", 7.9, "5.0–11.8",
"Motivación y confianza", "Achieving", 45.5, "38.9–50.5",
"Motivación y confianza", "Excelling", 65.6, "56.1–71.4"
)
knitr::kable(
equivalencia,
caption = "Percentil colombiano equivalente a las categorías oficiales del CAPL-2.",
digits = 1
) %>%
kableExtra::kable_styling(full_width = FALSE)| Dominio | Categoria_oficial | Percentil_mediano | Rango_percentilico |
|---|---|---|---|
| CAPL total | Progressing | 34.5 | 17.4–52.8 |
| CAPL total | Achieving | 87.0 | 79.7–95.0 |
| CAPL total | Excelling | 95.0 | 93.3–95.0 |
| Competencia física | Progressing | 72.8 | 47.4–85.1 |
| Competencia física | Achieving | 93.8 | 85.1–95.0 |
| Competencia física | Excelling | 95.0 | 93.3–95.0 |
| Comportamiento diario | Progressing | 26.1 | 15.5–48.7 |
| Comportamiento diario | Achieving | 82.4 | 78.3–93.6 |
| Comportamiento diario | Excelling | 95.0 | 93.4–95.0 |
| Conocimiento y comprensión | Progressing | 50.6 | 42.3–60.6 |
| Conocimiento y comprensión | Achieving | 82.0 | 73.5–85.4 |
| Conocimiento y comprensión | Excelling | 90.2 | 85.0–92.3 |
| Motivación y confianza | Progressing | 7.9 | 5.0–11.8 |
| Motivación y confianza | Achieving | 45.5 | 38.9–50.5 |
| Motivación y confianza | Excelling | 65.6 | 56.1–71.4 |
ggplot(equivalencia, aes(x = Categoria_oficial, y = Percentil_mediano, group = Dominio)) +
geom_line(aes(linetype = Dominio), linewidth = 0.7) +
geom_point(size = 2) +
facet_wrap(~Dominio) +
labs(
x = "Categoría oficial",
y = "Percentil colombiano equivalente",
linetype = "Dominio"
) +
theme_minimal(base_size = 12) +
theme(
panel.grid.minor = element_blank(),
strip.text = element_text(face = "bold"),
legend.position = "none"
)Ubicación percentílica de las categorías oficiales del CAPL-2 dentro de la distribución colombiana.
De manera complementaria, se calcularon percentiles empíricos por edad y sexo para pasos promedio diarios, PACER, plancha y CAMSA. Estos percentiles tienen carácter descriptivo y no sustituyen los valores de referencia obtenidos mediante GAMLSS para los puntajes por dominio y el puntaje total.
componentes <- NULL
if(file.exists(fase8b_archivo)){
hojas8 <- readxl::excel_sheets(fase8b_archivo)
hoja_comp <- hojas8[stringr::str_detect(tolower(hojas8), "percentiles_principales")]
if(length(hoja_comp) > 0){
componentes <- readxl::read_excel(fase8b_archivo, sheet = hoja_comp[1])
}
}
if(is.null(componentes)){
componentes <- tibble::tribble(
~Componente, ~Unidad, ~Sexo, ~Edad, ~n, ~P5, ~P25, ~P50, ~P75, ~P95,
"CAMSA", "Segundos", "Niñas", 8, 84, 20.00, 23.15, 25.56, 30.09, 36.34,
"CAMSA", "Segundos", "Niñas", 9, 84, 18.00, 21.00, 24.00, 28.00, 32.32,
"CAMSA", "Segundos", "Niñas", 10, 84, 18.00, 22.02, 24.87, 28.79, 33.03,
"CAMSA", "Segundos", "Niñas", 11, 85, 17.25, 20.00, 22.00, 24.50, 29.84,
"CAMSA", "Segundos", "Niñas", 12, 88, 13.56, 20.00, 21.25, 24.27, 30.96,
"CAMSA", "Segundos", "Niños", 8, 84, 15.74, 18.08, 21.80, 27.03, 30.37,
"CAMSA", "Segundos", "Niños", 9, 86, 12.82, 18.00, 21.23, 25.76, 34.30,
"CAMSA", "Segundos", "Niños", 10, 87, 11.96, 17.50, 21.00, 26.09, 32.00,
"CAMSA", "Segundos", "Niños", 11, 85, 11.62, 18.00, 21.00, 24.00, 28.14,
"CAMSA", "Segundos", "Niños", 12, 76, 10.65, 17.04, 20.36, 25.00, 31.47,
"PACER", "Número de vueltas", "Niñas", 8, 84, 7.00, 9.00, 15.00, 20.00, 43.70,
"PACER", "Número de vueltas", "Niñas", 9, 84, 7.00, 11.00, 17.00, 28.50, 46.85,
"PACER", "Número de vueltas", "Niñas", 10, 84, 8.00, 11.00, 16.00, 26.00, 40.00,
"PACER", "Número de vueltas", "Niñas", 11, 85, 10.00, 15.00, 20.00, 29.00, 41.60,
"PACER", "Número de vueltas", "Niñas", 12, 88, 8.35, 13.00, 18.00, 27.00, 67.85,
"PACER", "Número de vueltas", "Niños", 8, 84, 7.00, 11.00, 19.00, 24.00, 47.80,
"PACER", "Número de vueltas", "Niños", 9, 86, 8.00, 13.00, 17.00, 29.25, 56.50,
"PACER", "Número de vueltas", "Niños", 10, 87, 7.30, 15.00, 21.00, 31.00, 48.70,
"PACER", "Número de vueltas", "Niños", 11, 85, 6.40, 18.00, 24.00, 35.00, 74.60,
"PACER", "Número de vueltas", "Niños", 12, 76, 10.75, 22.50, 30.00, 50.00, 64.00,
"Pasos promedio diarios", "Pasos/día", "Niñas", 8, 84, 3641.60, 5433.00, 6633.00, 9971.50, 14479.95,
"Pasos promedio diarios", "Pasos/día", "Niñas", 9, 84, 5194.65, 6227.75, 8374.50, 10640.00, 12545.15,
"Pasos promedio diarios", "Pasos/día", "Niñas", 10, 83, 4415.60, 6337.50, 7480.00, 10027.00, 12952.70,
"Pasos promedio diarios", "Pasos/día", "Niñas", 11, 85, 4136.40, 6501.00, 7946.00, 11298.00, 14255.60,
"Pasos promedio diarios", "Pasos/día", "Niñas", 12, 88, 4566.75, 6381.75, 8520.00, 11800.75, 15069.35,
"Pasos promedio diarios", "Pasos/día", "Niños", 8, 83, 4965.70, 7139.00, 9618.00, 11966.50, 15699.20,
"Pasos promedio diarios", "Pasos/día", "Niños", 9, 84, 4396.70, 7544.25, 10178.00, 12388.00, 15168.20,
"Pasos promedio diarios", "Pasos/día", "Niños", 10, 86, 4396.50, 7200.00, 10880.00, 13383.75, 16854.00,
"Pasos promedio diarios", "Pasos/día", "Niños", 11, 84, 4803.55, 8004.25, 9998.00, 12884.25, 16414.80,
"Pasos promedio diarios", "Pasos/día", "Niños", 12, 74, 4230.95, 7892.25, 10319.50, 12991.25, 16316.65,
"Plancha", "Segundos", "Niñas", 8, 84, 15.77, 29.56, 44.50, 67.72, 221.00,
"Plancha", "Segundos", "Niñas", 9, 84, 23.85, 33.97, 44.50, 58.00, 105.95,
"Plancha", "Segundos", "Niñas", 10, 84, 23.24, 38.97, 52.00, 68.97, 91.70,
"Plancha", "Segundos", "Niñas", 11, 85, 19.20, 41.16, 53.00, 73.90, 147.00,
"Plancha", "Segundos", "Niñas", 12, 88, 20.35, 36.75, 49.59, 69.93, 106.94,
"Plancha", "Segundos", "Niños", 8, 84, 23.15, 41.31, 60.00, 88.52, 174.28,
"Plancha", "Segundos", "Niños", 9, 86, 23.24, 42.00, 59.00, 76.17, 140.75,
"Plancha", "Segundos", "Niños", 10, 87, 27.69, 47.00, 60.00, 84.94, 177.90,
"Plancha", "Segundos", "Niños", 11, 85, 18.23, 39.00, 60.00, 92.22, 153.20,
"Plancha", "Segundos", "Niños", 12, 76, 16.51, 47.00, 63.05, 85.88, 130.06
)
}
knitr::kable(
componentes,
caption = "Percentiles empíricos principales de los componentes crudos del CAPL-2.",
digits = 2
) %>%
kableExtra::kable_styling(full_width = FALSE)| componente | variable | unidad | sexo | edad | n | P5 | P25 | P50 | P75 | P95 |
|---|---|---|---|---|---|---|---|---|---|---|
| CAMSA | camsa_time_best | Segundos | Niñas | 8 | 84 | 20.00 | 23.15 | 25.56 | 30.09 | 36.34 |
| CAMSA | camsa_time_best | Segundos | Niñas | 9 | 84 | 18.00 | 21.00 | 24.00 | 28.00 | 32.32 |
| CAMSA | camsa_time_best | Segundos | Niñas | 10 | 84 | 18.00 | 22.02 | 24.87 | 28.79 | 33.03 |
| CAMSA | camsa_time_best | Segundos | Niñas | 11 | 85 | 17.25 | 20.00 | 22.00 | 24.50 | 29.84 |
| CAMSA | camsa_time_best | Segundos | Niñas | 12 | 88 | 13.56 | 20.00 | 21.25 | 24.27 | 30.96 |
| CAMSA | camsa_time_best | Segundos | Niños | 8 | 84 | 15.74 | 18.08 | 21.80 | 27.03 | 30.37 |
| CAMSA | camsa_time_best | Segundos | Niños | 9 | 86 | 12.82 | 18.00 | 21.23 | 25.76 | 34.30 |
| CAMSA | camsa_time_best | Segundos | Niños | 10 | 87 | 11.96 | 17.50 | 21.00 | 26.09 | 32.00 |
| CAMSA | camsa_time_best | Segundos | Niños | 11 | 85 | 11.62 | 18.00 | 21.00 | 24.00 | 28.14 |
| CAMSA | camsa_time_best | Segundos | Niños | 12 | 76 | 10.65 | 17.04 | 20.36 | 25.00 | 31.47 |
| PACER | pacer_laps | Número de vueltas | Niñas | 8 | 84 | 7.00 | 9.00 | 15.00 | 20.00 | 43.70 |
| PACER | pacer_laps | Número de vueltas | Niñas | 9 | 84 | 7.00 | 11.00 | 17.00 | 28.50 | 46.85 |
| PACER | pacer_laps | Número de vueltas | Niñas | 10 | 84 | 8.00 | 11.00 | 16.00 | 26.00 | 40.00 |
| PACER | pacer_laps | Número de vueltas | Niñas | 11 | 85 | 10.00 | 15.00 | 20.00 | 29.00 | 41.60 |
| PACER | pacer_laps | Número de vueltas | Niñas | 12 | 88 | 8.35 | 13.00 | 18.00 | 27.00 | 67.85 |
| PACER | pacer_laps | Número de vueltas | Niños | 8 | 84 | 7.00 | 11.00 | 19.00 | 24.00 | 47.80 |
| PACER | pacer_laps | Número de vueltas | Niños | 9 | 86 | 8.00 | 13.00 | 17.00 | 29.25 | 56.50 |
| PACER | pacer_laps | Número de vueltas | Niños | 10 | 87 | 7.30 | 15.00 | 21.00 | 31.00 | 48.70 |
| PACER | pacer_laps | Número de vueltas | Niños | 11 | 85 | 6.40 | 18.00 | 24.00 | 35.00 | 74.60 |
| PACER | pacer_laps | Número de vueltas | Niños | 12 | 76 | 10.75 | 22.50 | 30.00 | 50.00 | 64.00 |
| Pasos promedio diarios | step_average | Pasos/día | Niñas | 8 | 84 | 3641.60 | 5433.00 | 6633.00 | 9971.50 | 14479.95 |
| Pasos promedio diarios | step_average | Pasos/día | Niñas | 9 | 84 | 5194.65 | 6227.75 | 8374.50 | 10640.00 | 12545.15 |
| Pasos promedio diarios | step_average | Pasos/día | Niñas | 10 | 83 | 4415.60 | 6337.50 | 7480.00 | 10027.00 | 12952.70 |
| Pasos promedio diarios | step_average | Pasos/día | Niñas | 11 | 85 | 4136.40 | 6501.00 | 7946.00 | 11298.00 | 14255.60 |
| Pasos promedio diarios | step_average | Pasos/día | Niñas | 12 | 88 | 4566.75 | 6381.75 | 8520.00 | 11800.75 | 15069.35 |
| Pasos promedio diarios | step_average | Pasos/día | Niños | 8 | 83 | 4965.70 | 7139.00 | 9618.00 | 11966.50 | 15699.20 |
| Pasos promedio diarios | step_average | Pasos/día | Niños | 9 | 84 | 4396.70 | 7544.25 | 10178.00 | 12388.00 | 15168.20 |
| Pasos promedio diarios | step_average | Pasos/día | Niños | 10 | 86 | 4396.50 | 7200.00 | 10880.00 | 13383.75 | 16854.00 |
| Pasos promedio diarios | step_average | Pasos/día | Niños | 11 | 84 | 4803.55 | 8004.25 | 9998.00 | 12884.25 | 16414.80 |
| Pasos promedio diarios | step_average | Pasos/día | Niños | 12 | 74 | 4230.95 | 7892.25 | 10319.50 | 12991.25 | 16316.65 |
| Plancha | plank_time | Segundos | Niñas | 8 | 84 | 15.77 | 29.56 | 44.50 | 67.72 | 221.00 |
| Plancha | plank_time | Segundos | Niñas | 9 | 84 | 23.85 | 33.97 | 44.50 | 58.00 | 105.95 |
| Plancha | plank_time | Segundos | Niñas | 10 | 84 | 23.24 | 38.97 | 52.00 | 68.97 | 91.70 |
| Plancha | plank_time | Segundos | Niñas | 11 | 85 | 19.20 | 41.16 | 53.00 | 73.90 | 147.00 |
| Plancha | plank_time | Segundos | Niñas | 12 | 88 | 20.35 | 36.75 | 49.59 | 69.93 | 106.94 |
| Plancha | plank_time | Segundos | Niños | 8 | 84 | 23.15 | 41.31 | 60.00 | 88.52 | 174.28 |
| Plancha | plank_time | Segundos | Niños | 9 | 86 | 23.24 | 42.00 | 59.00 | 76.17 | 140.75 |
| Plancha | plank_time | Segundos | Niños | 10 | 87 | 27.69 | 47.00 | 60.00 | 84.94 | 177.90 |
| Plancha | plank_time | Segundos | Niños | 11 | 85 | 18.23 | 39.00 | 60.00 | 92.22 | 153.20 |
| Plancha | plank_time | Segundos | Niños | 12 | 76 | 16.51 | 47.00 | 63.05 | 85.88 | 130.06 |
# Estandarización flexible de nombres de columnas.
# Esto evita errores cuando las hojas de Excel importan nombres como edad/sexo/componente
# en minúsculas o con pequeñas variaciones.
componentes_fig_base <- componentes %>%
janitor::clean_names()
# Verificación mínima de columnas requeridas
columnas_requeridas_componentes <- c(
"componente", "sexo", "edad", "p5", "p25", "p50", "p75", "p95"
)
faltantes_componentes <- setdiff(
columnas_requeridas_componentes,
names(componentes_fig_base)
)
if(length(faltantes_componentes) > 0){
stop(
paste(
"Faltan columnas requeridas en la tabla de componentes:",
paste(faltantes_componentes, collapse = ", ")
)
)
}
componentes_fig <- componentes_fig_base %>%
select(
componente,
sexo,
edad,
p5,
p25,
p50,
p75,
p95
) %>%
rename(
Componente = componente,
Sexo = sexo,
Edad = edad,
P5 = p5,
P25 = p25,
P50 = p50,
P75 = p75,
P95 = p95
) %>%
pivot_longer(
cols = c(P5, P25, P50, P75, P95),
names_to = "Percentil",
values_to = "Valor"
) %>%
mutate(
Percentil = factor(Percentil, levels = c("P5", "P25", "P50", "P75", "P95")),
Edad = as.numeric(Edad)
)
ggplot(componentes_fig, aes(x = Edad, y = Valor, group = Percentil, linetype = Percentil)) +
geom_line(linewidth = 0.8) +
geom_point(size = 1.8) +
facet_grid(Componente ~ Sexo, scales = "free_y") +
labs(
x = "Edad (años)",
y = "Valor observado",
linetype = "Percentil"
) +
theme_minimal(base_size = 12) +
theme(
panel.grid.minor = element_blank(),
strip.text = element_text(face = "bold")
)Percentiles empíricos principales de componentes crudos del CAPL-2 por sexo y edad.
Los resultados permiten verificar que la base utilizada para la construcción de valores de referencia tiene una distribución equilibrada por subregión, sexo y edad. La completitud de información fue alta para todos los dominios del CAPL-2, con porcentajes de casos válidos superiores al 96%.
La comparación de familias GAMLSS permitió seleccionar modelos específicos por dominio y sexo, lo que evita imponer una misma distribución para todos los puntajes. La validación posterior confirmó la coherencia de las curvas percentílicas principales, sin cruces entre percentiles y con valores ajustados a los límites teóricos del instrumento.
El análisis de equivalencia con categorías oficiales permite complementar la interpretación del CAPL-2, al ubicar los puntos de corte originales dentro de la distribución normativa colombiana. Por último, los percentiles empíricos de componentes crudos ofrecen una descripción adicional del comportamiento de pruebas específicas, sin sustituir los baremos principales estimados mediante GAMLSS.
## R version 4.5.1 (2025-06-13 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26200)
##
## Matrix products: default
## LAPACK version 3.12.1
##
## locale:
## [1] LC_COLLATE=Spanish_Colombia.utf8 LC_CTYPE=Spanish_Colombia.utf8
## [3] LC_MONETARY=Spanish_Colombia.utf8 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Colombia.utf8
##
## time zone: America/Bogota
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] janitor_2.2.1 purrr_1.1.0 tibble_3.3.0 stringr_1.5.1
## [5] kableExtra_1.4.0 knitr_1.50 ggplot2_4.0.1 readxl_1.4.5
## [9] tidyr_1.3.1 dplyr_1.2.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 jsonlite_2.0.0 compiler_4.5.1 tidyselect_1.2.1
## [5] xml2_1.3.8 snakecase_0.11.1 jquerylib_0.1.4 textshaping_1.0.1
## [9] systemfonts_1.3.1 scales_1.4.0 yaml_2.3.10 fastmap_1.2.0
## [13] R6_2.6.1 labeling_0.4.3 generics_0.1.4 lubridate_1.9.4
## [17] svglite_2.2.2 bslib_0.9.0 pillar_1.11.0 RColorBrewer_1.1-3
## [21] rlang_1.2.0 stringi_1.8.7 cachem_1.1.0 xfun_0.55
## [25] sass_0.4.10 S7_0.2.1 timechange_0.3.0 viridisLite_0.4.2
## [29] cli_3.6.6 withr_3.0.2 magrittr_2.0.3 digest_0.6.37
## [33] grid_4.5.1 rstudioapi_0.17.1 lifecycle_1.0.5 vctrs_0.7.1
## [37] evaluate_1.0.4 glue_1.8.0 farver_2.1.2 cellranger_1.1.0
## [41] rmarkdown_2.29 tools_4.5.1 pkgconfig_2.0.3 htmltools_0.5.8.1