ruta <- "REACV_ Descubriendo nuevos horizontes sobre el bienestar en la vida adulta (Responses) - Form Responses 1(2).csv"
raw  <- read.csv(ruta, check.names = FALSE, fileEncoding = "UTF-8",
                 na.strings = c("", "NA"), stringsAsFactors = FALSE)
stopifnot(ncol(raw) == 164)

# Indices del formulario
col <- list(edad = 5, reside = 6, sexo = 9, edu = 11, ocup = 12,
            T = 13:18, mask = 19, persist = 20,
            AQ = c(21:58, 60:71), chk1 = 59, chk2 = 119, chk3 = 152,
            dx = 153, considera = 156, sugerencia = 157, terapia = 158,
            fam_tea = 160)

frec    <- c("Nunca" = 0, "Rara vez" = 1, "A veces" = 2,
             "Frecuentemente" = 3, "Siempre" = 4)
acuerdo <- c("Nada de acuerdo" = 1, "Un poco de acuerdo" = 2,
             "Bastante de acuerdo" = 3, "Totalmente de acuerdo" = 4)
# Clave de Baron-Cohen et al. (2001): 26 items redactados en direccion no autista
aq_inv  <- c(1, 3, 8, 10, 11, 14, 15, 17, 24, 25, 27, 28, 29, 30, 31, 32,
             34, 36, 37, 38, 40, 44, 47, 48, 49, 50)
SI <- "S\u00ed"

Tm <- sapply(raw[col$T], function(x) unname(frec[x]))
colnames(Tm) <- paste0("T", 1:6)
AQ <- sapply(raw[col$AQ], function(x) unname(acuerdo[x]))
colnames(AQ) <- paste0("AQ", 1:50)
AQr <- AQ
AQr[, aq_inv] <- 5 - AQr[, aq_inv]

d <- tibble(
  edad = as.numeric(raw[[col$edad]]), reside = raw[[col$reside]] %in% SI,
  sexo = raw[[col$sexo]], edu = raw[[col$edu]], ocup = raw[[col$ocup]],
  T7 = unname(frec[raw[[col$mask]]]), persist = raw[[col$persist]],
  dx = raw[[col$dx]], considera = raw[[col$considera]],
  sugerencia = raw[[col$sugerencia]], terapia = raw[[col$terapia]],
  fam_tea = raw[[col$fam_tea]],
  fecha = as.POSIXct(raw[[1]], format = "%m/%d/%Y %H:%M:%S", tz = "UTC"),
  correo = str_to_lower(str_squish(raw[[3]])),
  # Primera versión del formulario (antes del 24/04/2026): el chequeo del RMET pedía
  # "Siempre" en lugar de "2" y el chequeo de experiencias adversas todavía no existía.
  v1 = fecha < as.POSIXct("2026-04-24", tz = "UTC"),
  chk1 = raw[[col$chk1]] %in% "Un poco de acuerdo",
  chk2 = as.character(raw[[col$chk2]]) %in% "2" | (v1 & raw[[col$chk2]] %in% "Siempre"),
  chk3_aplicado = !is.na(raw[[col$chk3]]),
  chk3 = raw[[col$chk3]] %in% "No"
) %>%
  bind_cols(as_tibble(Tm)) %>%
  mutate(n_aplicados = 2 + chk3_aplicado,
         n_fallos = (!chk1) + (!chk2) + (chk3_aplicado & !chk3),
         # completo = respondió todos los instrumentos, no solo el tamizaje
         completo = complete.cases(raw[c(13:19, 21:58, 60:104, 105:118, 120:141, 142:151)]),
         tam = T1 + T2 + T3 + T4 + T5 + T6,
         n_sint = (T1 >= 3) + (T2 >= 3) + (T3 >= 3) + (T4 >= 3) + (T5 >= 3) + (T6 >= 3),
         elegible = reside & edad <= 30 & completo)
# Envíos repetidos con el mismo correo: se conserva el primero que cumple los criterios
d <- d %>% mutate(duplicado = elegible & duplicated(if_else(elegible, correo, NA_character_), incomparables = NA),
                  base = elegible & !duplicado)

m0 <- d$base; m2 <- m0 & d$n_fallos <= 1; m3 <- m0 & d$n_fallos == 0
p0 <- d[m0, ]
n0 <- sum(m0); n2 <- sum(m2); n3 <- sum(m3)
mayores <- d$edad[d$edad > 30]

pc  <- function(x, k = 1) format(round(100 * x, k), nsmall = k, decimal.mark = ".")
f2  <- function(x) sub("^-", "\u2212", sub("^(-?)0\\.", "\\1.", sprintf("%.2f", x)))
f3  <- function(x) sub("^-", "\u2212", sub("^(-?)0\\.", "\\1.", sprintf("%.3f", x)))
fp  <- function(p) ifelse(p < .001, "< .001", paste("=", f3(p)))

tema <- theme_minimal(base_size = 11) +
  theme(panel.grid.minor = element_blank(), legend.position = "bottom",
        plot.title = element_text(face = "bold"), plot.title.position = "plot",
        plot.caption = element_text(hjust = 0, size = 8))
azul <- "#3B6E8F"

No se reportan puntajes totales del AQ ni del Health-SigQOLM: su estructura interna aún no se ha evaluado en esta muestra (AERA et al., 2014; English et al., 2020). La única suma que se usa es la del tamizaje nuclear basado en el DSM-5 (T1 a T6).

Depuración de la muestra

embudo <- tibble(
  Etapa = c("Respuestas recibidas", "Residentes en Colombia",
            "Residentes de 18 a 30 años",
            "Residentes de 18 a 30 años con todos los cuestionarios respondidos",
            "Muestra principal (sin envíos repetidos)",
            "Muestra principal con 1 chequeo fallado como máximo",
            "Muestra principal sin chequeos fallados"),
  n = c(nrow(d), sum(d$reside), sum(d$reside & d$edad <= 30), sum(d$elegible), n0, n2, n3)
) %>% mutate(`% del total` = pc(n / nrow(d)))
kable(embudo, align = "lrr", caption = "Tabla 1. Embudo muestral")
Tabla 1. Embudo muestral
Etapa n % del total
Respuestas recibidas 200 100.0
Residentes en Colombia 196 98.0
Residentes de 18 a 30 años 152 76.0
Residentes de 18 a 30 años con todos los cuestionarios respondidos 151 75.5
Muestra principal (sin envíos repetidos) 150 75.0
Muestra principal con 1 chequeo fallado como máximo 141 70.5
Muestra principal sin chequeos fallados 127 63.5

La muestra principal tiene 150 personas: residentes en Colombia, de 18 a 30 años, con los instrumentos completos. Los 45 mayores de 30 años (32 a 57) no entran en este análisis.

El corte en 30 años corresponde a la adultez emergente (Arnett, 2000).

Los chequeos de atención estaban dentro del AQ, el RMET y el cuestionario de experiencias adversas (Meade y Craig, 2012). Las 11 personas que respondieron antes del 24 de abril usaron la primera versión del formulario: no tenían el chequeo de experiencias adversas y el del RMET tenía otras opciones de respuesta. Las 11 eligieron la misma opción (“Siempre”), y se tomó como correcta. Una persona respondió dos veces con el mismo correo; se conservó su primer envío.

chk_tab <- d[m0, ] %>% count(n_fallos) %>%
  mutate(`Chequeos fallados` = n_fallos, `%` = pc(n / sum(n))) %>%
  select(`Chequeos fallados`, n, `%`)
kable(chk_tab, align = "lrr", caption = "Tabla 2. Chequeos de atención fallados en la muestra principal")
Tabla 2. Chequeos de atención fallados en la muestra principal
Chequeos fallados n %
0 127 84.7
1 14 9.3
2 8 5.3
3 1 0.7

Participantes

barra_pct <- function(x, titulo, ancho = 18) {
  tibble(cat = x) %>% filter(!is.na(cat)) %>% count(cat) %>%
    mutate(pct = n / sum(n), cat = fct_reorder(str_wrap(cat, ancho), n)) %>%
    ggplot(aes(cat, pct)) +
    geom_col(fill = azul, width = .7) +
    geom_text(aes(label = percent(pct, .1)), hjust = -.15, size = 3) +
    coord_flip() +
    scale_y_continuous(labels = percent, expand = expansion(c(0, .25))) +
    labs(title = titulo, x = NULL, y = NULL) + tema
}
f_edad <- ggplot(p0, aes(edad)) +
  geom_density(fill = azul, alpha = .6, adjust = 1.2) +
  scale_x_continuous(limits = c(18, 30), breaks = seq(18, 30, 2)) +
  labs(title = "Edad", x = "Años", y = "Densidad") + tema
(barra_pct(p0$sexo, "Sexo") | barra_pct(p0$edu, "Nivel educativo", 16)) /
  (barra_pct(p0$ocup, "Ocupación") | f_edad)
Figura 1. Características de la muestra principal.

Figura 1. Características de la muestra principal.

q_edad  <- quantile(p0$edad, c(.25, .75))
pct_f   <- mean(p0$sexo == "Femenino")
pct_sup <- mean(str_detect(p0$edu, "superior"))
pct_est <- mean(p0$ocup == "Estudia")
n_dx    <- sum(p0$dx == SI)

La mediana de edad es 20 años (RIC = 19–22). El 54.7 % son mujeres, el 76.7 % cursa o terminó educación superior y el 74.0 % se dedica a estudiar.

prop_si <- function(x) { v <- x[!is.na(x)]; c(n = sum(v == SI), validas = length(v)) }
clin <- rbind(
  "Diagnóstico formal de TEA"                 = prop_si(p0$dx),
  "Ha considerado ser autista o neurodivergente" = prop_si(p0$considera),
  "Un profesional sugirió evaluación de TEA"   = prop_si(p0$sugerencia),
  "Familiar cercano con TEA"                   = prop_si(p0$fam_tea),
  "Terapia psicológica en los últimos 5 años"  = prop_si(p0$terapia),
  "Dificultades presentes desde la infancia"   = prop_si(p0$persist))
clin <- as.data.frame(clin) %>%
  mutate(`%` = pc(n / validas)) %>%
  rename(`Respuestas "Sí"` = n, `Respuestas válidas` = validas)
kable(clin, align = "rrr", caption = "Tabla 3. Antecedentes autorreportados")
Tabla 3. Antecedentes autorreportados
Respuestas “Sí” Respuestas válidas %
Diagnóstico formal de TEA 9 150 6.0
Ha considerado ser autista o neurodivergente 49 118 41.5
Un profesional sugirió evaluación de TEA 15 119 12.6
Familiar cercano con TEA 39 150 26.0
Terapia psicológica en los últimos 5 años 69 150 46.0
Dificultades presentes desde la infancia 74 150 49.3

Las preguntas sobre autoidentificación y sugerencia profesional se agregaron al formulario el 3 de agosto; sus porcentajes usan solo a quienes las respondieron.

normalizar_dx <- function(p) {
  p <- str_to_lower(p)
  case_when(str_detect(p, "ansiedad")                    ~ "Ansiedad",
            str_detect(p, "depresi")                     ~ "Depresión",
            str_detect(p, "tdah")                        ~ "TDAH",
            str_detect(p, "bipolar")                     ~ "Trastorno bipolar",
            str_detect(p, "obsesivo")                    ~ "Trastorno obsesivo-compulsivo",
            str_detect(p, "personalidad")                ~ "Trastorno de personalidad",
            str_detect(p, "sueño")                       ~ "Trastornos del sueño",
            str_detect(p, "esquizofrenia")               ~ "Esquizofrenia",
            str_detect(p, "crónica|diabetes|migra")      ~ "Enfermedad crónica",
            str_detect(p, "asperger|tea|autis")          ~ "TEA / Asperger",
            str_detect(p, "^[[:punct:][:space:]]*$")     ~ NA_character_,
            TRUE                                         ~ "Otro")
}
contar_multi <- function(x) {
  x <- x[!is.na(x)]
  x <- str_replace_all(x, "\\([^)]*\\)", "")          # quita "(diabetes, hipertensión, etc.)"
  partes <- str_squish(unlist(str_split(x, ",")))
  partes <- partes[!str_to_lower(partes) %in% c("", "no", "ninguno", "etc.")]
  partes <- normalizar_dx(partes); partes <- partes[!is.na(partes)]
  # una persona cuenta una sola vez por categoría
  por_persona <- lapply(str_split(x, ","), function(v) {
    v <- str_squish(v); v <- v[!str_to_lower(v) %in% c("", "no", "ninguno", "etc.")]
    unique(na.omit(normalizar_dx(v))) })
  list(conteo = sort(table(unlist(por_persona)), decreasing = TRUE), validas = length(x))
}
dx_p <- contar_multi(raw[[155]][m0]); dx_f <- contar_multi(raw[[162]][m0])
fila <- function(cl, obj) {
  tibble(Diagnóstico = names(obj$conteo), n = as.integer(obj$conteo)) %>%
    mutate(`%` = pc(n / obj$validas)) %>% rename(!!paste0(cl, " n") := n, !!paste0(cl, " %") := `%`)
}
tab_dx <- full_join(fila("Participante", dx_p), fila("Familiar cercano", dx_f), by = "Diagnóstico") %>%
  mutate(across(everything(), ~ ifelse(is.na(.x), "—", as.character(.x))))
kable(tab_dx, align = "lrrrr",
      caption = paste0("Tabla 4. Otros diagnósticos autorreportados (selección múltiple; participante: ",
                       dx_p$validas, " respuestas válidas; familiar: ", dx_f$validas, ")"))
Tabla 4. Otros diagnósticos autorreportados (selección múltiple; participante: 142 respuestas válidas; familiar: 144)
Diagnóstico Participante n Participante % Familiar cercano n Familiar cercano %
Ansiedad 19 13.4 12 8.3
Depresión 12 8.5 16 11.1
TDAH 8 5.6 11 7.6
Enfermedad crónica 6 4.2 — —
Trastorno de personalidad 4 2.8 5 3.5
Trastorno bipolar 2 1.4 3 2.1
Trastorno obsesivo-compulsivo 2 1.4 — —
Trastornos del sueño 2 1.4 — —
Esquizofrenia 1 0.7 3 2.1
TEA / Asperger 1 0.7 — —

Una persona puede reportar más de un diagnóstico.

Tamizaje basado en el DSM-5

fiab <- function(mask) {
  X <- as.matrix(d[mask, paste0("T", 1:6)])
  a <- psych::alpha(X, warnings = FALSE)$total$raw_alpha
  l <- abs(as.numeric(psych::fa(X, nfactors = 1, fm = "ml")$loadings))
  c(n = nrow(X), alfa = a, omega = sum(l)^2 / (sum(l)^2 + sum(1 - l^2)))
}
rel <- rbind("Muestra principal" = fiab(m0),
             "Máximo 1 chequeo fallado" = fiab(m2),
             "Sin chequeos fallados" = fiab(m3))
rel_tab <- as.data.frame(rel) %>% mutate(alfa = f3(alfa), omega = f3(omega))
kable(rel_tab, align = "rrr", caption = "Tabla 5. Consistencia interna del tamizaje nuclear (T1–T6)")
Tabla 5. Consistencia interna del tamizaje nuclear (T1–T6)
n alfa omega
Muestra principal 150 .857 .859
Máximo 1 chequeo fallado 141 .857 .858
Sin chequeos fallados 127 .849 .851

Con cualquier filtro de atención, omega queda entre .85 y .86.

niveles <- names(frec)
nota_T <- paste(
  "T1 = intercambio conversacional; T2 = iniciar o responder interacciones; T3 = señales no verbales;",
  "T4 = relaciones cercanas; T5 = malestar ante cambios de rutina; T6 = intereses intensos o reactividad sensorial;",
  "T7 = enmascaramiento (complementario, fuera del puntaje nuclear).", sep = "\n")
p0 %>%
  select(T1:T6, T7) %>%
  pivot_longer(everything(), names_to = "item", values_to = "valor") %>%
  filter(!is.na(valor)) %>%
  mutate(resp = factor(niveles[valor + 1], levels = rev(niveles)),
         item = factor(item, levels = paste0("T", 7:1))) %>%
  count(item, resp) %>% group_by(item) %>% mutate(pct = n / sum(n)) %>%
  ggplot(aes(item, pct, fill = resp)) +
  geom_col(width = .75) +
  geom_text(aes(label = ifelse(pct >= .05, percent(pct, 1), ""),
                colour = resp %in% c("Nunca", "Rara vez")),
            position = position_stack(vjust = .5), size = 2.8, show.legend = FALSE) +
  scale_colour_manual(values = c(`TRUE` = "white", `FALSE` = "black"), guide = "none") +
  coord_flip() + scale_y_continuous(labels = percent) +
  scale_fill_manual(values = c("#08306B", "#2171B5", "#6BAED6", "#9ECAE1", "#C6DBEF"),
                    breaks = niveles, name = NULL) +
  guides(fill = guide_legend(nrow = 1)) +
  labs(x = NULL, y = NULL, caption = nota_T) + tema
Figura 2. Distribución de respuestas por ítem.

Figura 2. Distribución de respuestas por ítem.

pres <- function(mask) {
  x <- d[mask, ]
  c(sapply(x[paste0("T", 1:6)], function(v) mean(v >= 3)),
    T7 = mean(x$T7 >= 3, na.rm = TRUE),
    `Al menos un síntoma nuclear` = mean(x$n_sint >= 1),
    `Dos o más síntomas nucleares` = mean(x$n_sint >= 2))
}
tab_pres <- data.frame(
  `Principal (%)` = pc(pres(m0)), `Máximo 1 fallado (%)` = pc(pres(m2)),
  check.names = FALSE)
kable(tab_pres, align = "rr",
      caption = "Tabla 6. Presencia de síntomas (respuesta Frecuentemente o Siempre)")
Tabla 6. Presencia de síntomas (respuesta Frecuentemente o Siempre)
Principal (%) Máximo 1 fallado (%)
T1 8.0 8.5
T2 8.7 9.2
T3 10.0 10.6
T4 8.0 8.5
T5 12.0 12.8
T6 14.0 14.9
T7 20.0 20.6
Al menos un síntoma nuclear 26.7 28.4
Dos o más síntomas nucleares 14.7 15.6
pr0  <- pres(m0)
rmask <- cor.test(p0$T7, p0$tam, method = "spearman", exact = FALSE)

Presencia significa responder Frecuentemente o Siempre. Cada síntoma nuclear aparece en un 8.0–14.0 % de la muestra. Los dos más frecuentes son del segundo dominio del DSM-5: malestar ante cambios de rutina (T5, 12.0 %) e intereses intensos o reactividad sensorial (T6, 14.0 %). El 26.7 % reporta al menos un síntoma nuclear y el 14.7 %, dos o más.

El enmascaramiento es lo más reportado (20.0 %) y sube con la suma nuclear (ρ = .63, p < .001).

Comparaciones por grupo

r_rb <- function(W, n1, n2) 2 * W / (n1 * n2) - 1
comparar <- function(mask) {
  x  <- d[mask, ]
  f  <- x$tam[x$sexo == "Femenino"];  m <- x$tam[x$sexo == "Masculino"]
  su <- x$tam[str_detect(x$edu, "superior")]; me <- x$tam[str_detect(x$edu, "media")]
  ws <- wilcox.test(f, m, exact = FALSE)
  we <- wilcox.test(su, me, exact = FALSE)
  sp <- cor.test(x$edad, x$tam, method = "spearman", exact = FALSE)
  md <- function(v) sprintf("%g [%g–%g]", median(v), quantile(v, .25), quantile(v, .75))
  tibble(
    `Comparación` = c("Sexo", "Nivel educativo", "Edad"),
    `Grupos: Mdn [RIC]` = c(
      paste0("F (n = ", length(f), "): ", md(f), "; M (n = ", length(m), "): ", md(m)),
      paste0("Superior (n = ", length(su), "): ", md(su), "; Media (n = ", length(me), "): ", md(me)),
      paste0("18 a 30 años (n = ", nrow(x), ")")),
    `Estadístico` = c(paste("U =", ws$statistic), paste("U =", we$statistic),
                      paste("ρ =", f2(sp$estimate))),
    p = c(f3(ws$p.value), f3(we$p.value), f3(sp$p.value)),
    r = c(f2(r_rb(ws$statistic, length(f), length(m))),
          f2(r_rb(we$statistic, length(su), length(me))), "—"))
}
c0 <- comparar(m0); c2 <- comparar(m2)
kable(c0, align = "llccc",
      caption = "Tabla 7. Suma del tamizaje nuclear (0–24), muestra principal")
Tabla 7. Suma del tamizaje nuclear (0–24), muestra principal
Comparación Grupos: Mdn [RIC] Estadístico p r
Sexo F (n = 82): 6 [2.25–9]; M (n = 67): 5 [2–8] U = 2932 .480 .07
Nivel educativo Superior (n = 115): 6 [3–9]; Media (n = 33): 5 [2–6] U = 2237.5 .116 .18
Edad 18 a 30 años (n = 150) ρ = −.11 .171 —
kable(c2, align = "llccc",
      caption = "Tabla 8. Misma comparación con 1 chequeo fallado como máximo")
Tabla 8. Misma comparación con 1 chequeo fallado como máximo
Comparación Grupos: Mdn [RIC] Estadístico p r
Sexo F (n = 80): 6 [2–9]; M (n = 60): 5 [2–8] U = 2579.5 .449 .07
Nivel educativo Superior (n = 110): 6 [3–9]; Media (n = 29): 4 [1–6] U = 1994 .038 .25
Edad 18 a 30 años (n = 141) ρ = −.13 .112 —
todos  <- d$reside & d$completo & !d$duplicado
r_all  <- cor.test(d$edad[todos], d$tam[todos], method = "spearman", exact = FALSE)
r_1830 <- cor.test(p0$edad, p0$tam, method = "spearman", exact = FALSE)
dx_med <- p0 %>% group_by(dx) %>% summarise(mdn = median(tam))

Pruebas U de Mann-Whitney bilaterales; r es la correlación biserial por rangos. Educación básica y sexo “Otro” quedan fuera por tener menos de cinco casos.

No hay diferencias por sexo ni por nivel educativo. Con 1 chequeo fallado como máximo, la diferencia por educación queda en p = .038 con solo 29 personas de educación media.

Con todos los residentes, incluidos los mayores de 30, la suma baja con la edad (ρ = −.32, p < .001, n = 193). Entre 18 y 30 años esa relación casi desaparece (ρ = −.11, p = .171).

Las 9 personas con diagnóstico tienen una mediana de 11 en el tamizaje; el resto, 5.

caja <- function(df, var, titulo) {
  ggplot(df, aes(str_wrap({{ var }}, 14), tam)) +
    geom_boxplot(fill = "#9ECAE1", outlier.shape = NA, width = .55) +
    geom_jitter(width = .12, height = .15, alpha = .35, size = 1.2) +
    labs(title = titulo, x = NULL, y = "Tamizaje nuclear (0–24)") + tema
}
caja(filter(p0, sexo %in% c("Femenino", "Masculino")), sexo, "Sexo") |
  caja(filter(p0, str_detect(edu, "superior|media")), edu, "Nivel educativo")
Figura 3. Tamizaje nuclear por sexo y nivel educativo.

Figura 3. Tamizaje nuclear por sexo y nivel educativo.

Tamizaje según diagnóstico y autoidentificación

pf <- d[m0, ] %>%
  mutate(perfil = case_when(
    dx == SI           ~ "Diagnóstico formal de TEA",
    is.na(considera)   ~ "Sin dato de autorreconocimiento",
    considera == SI    ~ "Se considera autista, sin diagnóstico",
    TRUE               ~ "Ni diagnóstico ni autorreconocimiento"),
    perfil = factor(perfil, levels = c("Diagnóstico formal de TEA",
                                       "Se considera autista, sin diagnóstico",
                                       "Ni diagnóstico ni autorreconocimiento",
                                       "Sin dato de autorreconocimiento")))
n_pct <- function(x) { x <- x[!is.na(x)]; if (!length(x)) return("—")
  sprintf("%d (%s)", sum(x), pc(mean(x))) }
tab_perfil <- pf %>% group_by(Perfil = perfil) %>%
  summarise(n = n(),
            `Sugerencia profesional, n (%)` = n_pct(sugerencia == SI),
            `≥ 1 síntoma nuclear, n (%)` = n_pct(n_sint >= 1),
            `Enmascaramiento, n (%)` = n_pct(T7 >= 3),
            `Tamizaje nuclear, Mdn [RIC]` = sprintf("%g [%g–%g]", median(tam), quantile(tam, .25), quantile(tam, .75)),
            .groups = "drop")
kable(tab_perfil, align = "lrrrrr",
      caption = "Tabla 9. Tamizaje según diagnóstico y autorreconocimiento")
Tabla 9. Tamizaje según diagnóstico y autorreconocimiento
Perfil n Sugerencia profesional, n (%) ≥ 1 síntoma nuclear, n (%) Enmascaramiento, n (%) Tamizaje nuclear, Mdn [RIC]
Diagnóstico formal de TEA 9 6 (75.0) 4 (44.4) 3 (33.3) 11 [8–15]
Se considera autista, sin diagnóstico 42 9 (21.4) 20 (47.6) 14 (33.3) 7 [4–10]
Ni diagnóstico ni autorreconocimiento 68 0 (0.0) 7 (10.3) 7 (10.3) 4 [1–6]
Sin dato de autorreconocimiento 31 0 (0.0) 9 (29.0) 6 (19.4) 6 [3.5–8]
combos <- pf %>% filter(!is.na(considera), !is.na(sugerencia)) %>%
  count(`Diagnóstico formal` = dx, `Se considera autista` = considera,
        `Sugerencia profesional` = sugerencia, name = "n") %>%
  mutate(`%` = pc(n / sum(n)))
kable(combos, align = "lllrr",
      caption = paste0("Tabla 10. Combinaciones de diagnóstico, autorreconocimiento y sugerencia profesional (n = ",
                       sum(combos$n), ")"))
Tabla 10. Combinaciones de diagnóstico, autorreconocimiento y sugerencia profesional (n = 118)
Diagnóstico formal Se considera autista Sugerencia profesional n %
No No No 68 57.6
No Sí No 33 28.0
No Sí Sí 9 7.6
Sí No Sí 1 0.8
Sí Sí No 2 1.7
Sí Sí Sí 5 4.2

El autorreconocimiento y la sugerencia profesional se preguntaron desde el 3 de agosto; quienes respondieron antes aparecen como “sin dato” en la Tabla 9 y no entran en la Tabla 10. La sugerencia profesional se cuenta sobre quienes respondieron esa pregunta.

Autism Spectrum Quotient

texto_aq <- names(raw)[col$AQ] %>%
  str_remove("^\\s*-?\\s*\\[") %>% str_remove("\\]\\s*$") %>% str_squish()
AQb <- AQr[m0, ]; AQb <- AQb[complete.cases(AQb), ]
es_inv <- seq_len(50) %in% aq_inv
estricto <- sapply(1:50, function(j) if (es_inv[j]) mean(AQb[, j] == 4) else mean(AQb[, j] >= 3))
amplio   <- sapply(1:50, function(j) mean(AQb[, j] >= 3))
top_aq <- tibble(item = 1:50, texto = texto_aq, inverso = es_inv,
                 estricto = estricto, amplio = amplio)
modal  <- mean(AQ[m0, ] == 2, na.rm = TRUE)

# AQ-10 adulto: los 10 items que mejor discriminan entre adultos autistas y
# controles (Allison et al., 2012, Tabla 2). vpp = valor predictivo positivo.
subescalas <- c("Atención al detalle", "Cambio de atención", "Comunicación",
                "Imaginación", "Habilidades sociales")
aq10 <- tribble(
  ~item, ~subescala,              ~vpp,
      5, "Atención al detalle",   .46,
     28, "Atención al detalle",   .53,
     32, "Cambio de atención",    .61,
     37, "Cambio de atención",    .57,
     27, "Comunicación",          .70,
     31, "Comunicación",          .76,
     20, "Imaginación",           .76,
     41, "Imaginación",           .56,
     36, "Habilidades sociales",  .70,
     45, "Habilidades sociales",  .63
) %>%
  left_join(top_aq, by = "item") %>%
  mutate(subescala = factor(subescala, levels = subescalas),
         etiqueta  = paste0("AQ", item, if_else(inverso, " (I)", "")),
         etiqueta  = fct_rev(factor(etiqueta, levels = etiqueta)))

n_inv10   <- sum(aq10$inverso)
top2      <- aq10 %>% arrange(desc(estricto)) %>% slice(1:2)
inv10     <- filter(aq10, inverso)

Allison et al. (2012) compararon cerca de 1.000 adultos autistas con 3.000 controles y se quedaron con los diez ítems del AQ que mejor separan a los dos grupos, dos por subescala: el AQ-10. Aquí se muestra cada ítem por separado.

La escala es unipolar (Nada, Un poco, Bastante y Totalmente de acuerdo) y los ítems redactados en dirección no autista se invirtieron (Baron-Cohen et al., 2001). De los diez, 6 son invertidos. En ellos, el criterio estricto solo cuenta Nada de acuerdo; el amplio suma Un poco de acuerdo, la respuesta más usada de la escala (27.4 %). Con uno u otro, esos ítems pasan de 5.3–18.0 % a 19.3–59.3 %.

aq10 %>%
  mutate(lab = if_else(inverso,
                       paste0(percent(estricto, .1), "  (", percent(amplio, .1), ")"),
                       percent(estricto, .1))) %>%
  ggplot(aes(y = etiqueta)) +
  geom_col(aes(x = amplio, fill = "Amplio: incluye Un poco de acuerdo"), width = .7) +
  geom_col(aes(x = estricto, fill = "Estricto"), width = .7) +
  geom_text(aes(x = pmax(amplio, estricto), label = lab), hjust = -.1, size = 3) +
  facet_grid(subescala ~ ., scales = "free_y", space = "free_y", switch = "y") +
  scale_x_continuous(labels = percent, limits = c(0, 1), expand = expansion(c(0, .02))) +
  scale_fill_manual(values = c("Estricto" = azul, "Amplio: incluye Un poco de acuerdo" = "#BFD3E0"),
                    breaks = c("Estricto", "Amplio: incluye Un poco de acuerdo"), name = NULL) +
  labs(x = NULL, y = NULL,
       caption = paste("(I) = ítem invertido. El texto de cada ítem está en la Tabla 11.",
                       "Directos: Bastante o Totalmente de acuerdo.",
                       "Invertidos: solo Nada de acuerdo (estricto) o Nada y Un poco de acuerdo (amplio, entre paréntesis).",
                       sep = "\n")) +
  tema +
  theme(axis.text.y = element_text(size = 9.5),
        strip.placement = "outside",
        strip.text.y.left = element_text(angle = 0, face = "bold", hjust = 1, size = 8.5),
        panel.spacing.y = unit(4, "pt"))
Figura 4. Respuesta en dirección del rasgo en los ítems del AQ-10 (Allison et al., 2012).

Figura 4. Respuesta en dirección del rasgo en los ítems del AQ-10 (Allison et al., 2012).

aq10 %>%
  transmute(`Subescala` = subescala, `Ítem` = paste0(item, if_else(inverso, " (I)", "")),
            `Contenido` = texto, `VPP` = f2(vpp),
            `Estricto (%)` = pc(estricto), `Amplio (%)` = pc(amplio)) %>%
  kable(align = "lllrrr",
        caption = "Tabla 11. Ítems del AQ-10 en la muestra principal. VPP = valor predictivo positivo informado por Allison et al. (2012).")
Tabla 11. Ítems del AQ-10 en la muestra principal. VPP = valor predictivo positivo informado por Allison et al. (2012).
Subescala Ítem Contenido VPP Estricto (%) Amplio (%)
Atención al detalle 5 A menudo escucho ciertos sonidos que las otras personas no oyen .46 30.0 30.0
Atención al detalle 28 (I) Normalmente me concentro más en el todo que en los detalles .53 18.0 59.3
Cambio de atención 32 (I) Me resulta fácil hacer más de una cosa a la vez .61 8.7 32.7
Cambio de atención 37 (I) Puedo retomar lo que estaba haciendo después de una interrupción .57 8.0 34.0
Comunicación 27 (I) Me resulta fácil “leer entre líneas” o captar el doble sentido, cuando alguien me está hablando .70 8.0 39.3
Comunicación 31 (I) Me doy cuenta cuando una persona con la que estoy hablando se aburre .76 5.3 19.3
Imaginación 20 Cuando leo un cuento me resulta muy difícil interpretar las intenciones de los personajes .76 29.3 29.3
Imaginación 41 Me gusta recabar información sobre clases de cosas (por ejemplo, tipos de coches, de pájaros, de trenes, de plantas, etc.) .56 40.7 40.7
Habilidades sociales 36 (I) Me resulta fácil imaginarme lo que una persona puede estar pensando o sintiendo sólo con mirarla a la cara .70 14.0 38.7
Habilidades sociales 45 Me resulta difícil identificar las intenciones de las otras personas .63 39.3 39.3

Con el criterio estricto, los porcentajes más altos corresponden a los ítems 41 (40.7 %) y 45 (39.3 %).

Reconocimiento de emociones (RMET)

# Clave de respuestas ajustada a las etiquetas del formulario.
# Ítem 33: la clave original (Baron-Cohen, Wheelwright, Hill et al., 2001) es "concerned";
# en las opciones del formulario corresponde a "Preocupado".
clave_rmet <- c("Juguetón", "Molesto", "Deseo", "Insistente", "Preocupado", "Fantasiosa",
                "Intranquilo", "Abatido", "Angustiada", "Prudente", "Arrepentido", "Escéptico",
                "Expectante", "Acusante", "Abstraída", "Considerado", "Insegura", "Decidida",
                "Vacilante", "Amistoso", "Fantasiosa", "Angustiada", "Desafiante", "Abstraído",
                "Interesada", "Hostil", "Prudente", "Interesada", "Reflexiva", "Seductora",
                "Segura", "Serio", "Preocupado", "Recelosa", "Nerviosa", "Desconfiado")
col_rmet <- c(105:118, 120:141)          # el chequeo de atención está en la columna 119
R <- sapply(seq_along(col_rmet), function(j) as.integer(raw[[col_rmet[j]]] == clave_rmet[j]))
colnames(R) <- paste0("RMET", 1:36)
Rb <- R[m0, ]; Rb <- Rb[complete.cases(Rb), ]
rmet_total <- rowSums(Rb)
rmet_item  <- tibble(item = 1:36, correcta = clave_rmet, acierto = colMeans(Rb))
kr20 <- psych::alpha(Rb, warnings = FALSE, check.keys = FALSE)$total$raw_alpha
q_r  <- quantile(rmet_total, c(.25, .75))
dif  <- rmet_item %>% arrange(acierto)

Cada uno de los 36 ítems tiene una respuesta correcta, y el puntaje es el número de aciertos. Con 150 participantes, la mediana fue de 22 aciertos (RIC = 18.25–25; rango 7–31) y el KR-20, de .69, un valor habitual en esta prueba (Olderbak et al., 2015).

p_h <- ggplot(tibble(total = rmet_total), aes(total)) +
  geom_histogram(binwidth = 1, fill = azul, colour = "white") +
  labs(title = "Aciertos por persona", x = "Aciertos (0–36)", y = "Personas") + tema
p_i <- ggplot(rmet_item, aes(factor(item), acierto)) +
  geom_col(fill = azul, width = .75) +
  geom_hline(yintercept = .25, linetype = "dashed", colour = "#C9574C") +
  scale_y_continuous(labels = percent, limits = c(0, 1)) +
  scale_x_discrete(breaks = c(1, seq(5, 35, 5))) +
  labs(title = "Acierto por ítem", x = "Ítem", y = NULL,
       caption = "Línea roja: 25 %, el acierto esperado al azar con 4 opciones.") + tema
p_h | p_i
Figura 5. RMET: distribución de aciertos y porcentaje de acierto por ítem.

Figura 5. RMET: distribución de aciertos y porcentaje de acierto por ítem.

Los ítems más difíciles fueron el 2 (13.3 % de acierto), el 16 (26.7 %) y el 19 (37.3 %). Con cuatro opciones, el azar da 25 %.

sx_r <- d$sexo[m0][complete.cases(R[m0, ])]
rmet_sx <- tibble(sexo = sx_r, total = rmet_total) %>%
  filter(sexo %in% c("Femenino", "Masculino")) %>%
  group_by(Sexo = sexo) %>%
  summarise(n = n(), Mediana = median(total),
            RIC = sprintf("%g–%g", quantile(total, .25), quantile(total, .75)),
            Media = sprintf("%.1f", mean(total)), .groups = "drop")
kable(rmet_sx, align = "lrrrr", caption = "Tabla 12. Aciertos en el RMET por sexo")
Tabla 12. Aciertos en el RMET por sexo
Sexo n Mediana RIC Media
Femenino 82 23 20.25–25 22.0
Masculino 67 21 17–24 20.0

Calidad de vida (Health-SigQOLM)

col_q <- 72:104
texto_q <- names(raw)[col_q] %>% str_remove("^\\s*\\[") %>% str_remove("\\]\\s*$") %>% str_squish()
# Agrupación provisional por contenido de los ítems
dominio_q <- rep(c("Síntomas y atención médica", "Energía y capacidad física", "Emocionalidad",
                   "Independencia", "Movilidad", "Sueño", "Alimentación", "Imagen corporal",
                   "Preocupación por la salud futura"),
                 times = c(5, 4, 3, 4, 3, 4, 2, 4, 4))
Q <- sapply(raw[col_q], function(x) unname(frec[x]))
Qb <- Q[m0, ]; Qb <- Qb[complete.cases(Qb), ]
q_items <- tibble(item = 1:33, dominio = factor(dominio_q, levels = unique(dominio_q)),
                  texto = texto_q, pres = colMeans(Qb >= 3)) %>%
  mutate(etiqueta = fct_rev(factor(paste0("S", sprintf("%02d", item), " · ", str_wrap(texto, 46)),
                                   levels = paste0("S", sprintf("%02d", item), " · ", str_wrap(texto, 46)))))
q_top <- q_items %>% arrange(desc(pres)) %>% slice(1:3)

Los 33 ítems usan la escala del tamizaje y, salvo el S24 (“Soy cuidadoso con lo que como”), describen problemas. Se cuenta como presente Frecuentemente o Siempre. Los dominios se agruparon por contenido, de forma provisional.

Los ítems más reportados fueron S28 (40.0 %), S30 (33.3 %) y S26 (32.0 %), con 150 participantes.

ggplot(q_items, aes(pres, etiqueta)) +
  geom_col(fill = azul, width = .72) +
  geom_text(aes(label = percent(pres, .1)), hjust = -.12, size = 3) +
  facet_grid(dominio ~ ., scales = "free_y", space = "free_y", switch = "y",
             labeller = labeller(dominio = label_wrap_gen(16))) +
  scale_x_continuous(labels = percent, limits = c(0, max(q_items$pres) + .12), expand = expansion(c(0, 0))) +
  labs(x = NULL, y = NULL) + tema +
  theme(axis.text.y = element_text(size = 7.5), strip.placement = "outside",
        strip.text.y.left = element_text(angle = 0, face = "bold", hjust = 1, size = 8),
        panel.grid.major.y = element_blank())
Figura 6. Calidad de vida: porcentaje que responde Frecuentemente o Siempre en cada ítem.

Figura 6. Calidad de vida: porcentaje que responde Frecuentemente o Siempre en cada ítem.

Experiencias adversas en la infancia

col_ace <- 142:151
etiq_ace <- c("Abuso emocional", "Abuso físico", "Abuso sexual", "Negligencia emocional",
              "Negligencia física", "Pérdida de un padre (divorcio, abandono u otra)",
              "Violencia contra la madre", "Consumo de alcohol o drogas en el hogar",
              "Enfermedad mental o intento de suicidio en la familia", "Familiar en la cárcel")
A_ <- sapply(raw[col_ace], function(x) as.integer(x == SI))
Ab <- A_[m0, ]; Ab <- Ab[complete.cases(Ab), ]
ace_items <- tibble(item = 1:10, etiqueta = etiq_ace, si = colMeans(Ab)) %>%
  mutate(lab = fct_reorder(paste0("ACE", item, " · ", etiqueta), si))
ace_top <- ace_items %>% arrange(desc(si)) %>% slice(1:2)
ace_low <- ace_items %>% arrange(si) %>% slice(1)

Diez experiencias antes de los 18 años. Con 150 participantes, las más reportadas fueron pérdida de un padre (divorcio, abandono u otra) (28.0 %) y abuso emocional (24.0 %); la menos reportada, negligencia física (8.0 %).

ggplot(ace_items, aes(si, lab)) +
  geom_col(fill = azul, width = .7) +
  geom_text(aes(label = percent(si, .1)), hjust = -.12, size = 3.2) +
  scale_x_continuous(labels = percent, limits = c(0, max(ace_items$si) + .12), expand = expansion(c(0, 0))) +
  labs(x = NULL, y = NULL) + tema + theme(panel.grid.major.y = element_blank())
Figura 7. Porcentaje que responde Sí en cada experiencia adversa.

Figura 7. Porcentaje que responde Sí en cada experiencia adversa.

Según autoidentificación

sets_dx <- lapply(raw[[155]][m0], function(x) {
  if (is.na(x)) return(NULL)
  x <- str_replace_all(x, "\\([^)]*\\)", "")
  v <- str_squish(str_split(x, ",")[[1]])
  v <- v[!str_to_lower(v) %in% c("", "no", "ninguno", "etc.")]
  unique(na.omit(normalizar_dx(v)))
})
tiene <- function(cat) sapply(sets_dx, function(v) if (is.null(v)) NA else cat %in% v)
cons <- d$considera[m0]
tab_auto <- tibble(considera = cons, Ansiedad = tiene("Ansiedad"),
                   Depresión = tiene("Depresión"), TDAH = tiene("TDAH")) %>%
  filter(!is.na(considera), !is.na(Ansiedad)) %>%
  group_by(`Ha considerado ser autista` = considera) %>%
  summarise(n = n(), `Ansiedad (%)` = pc(mean(Ansiedad)),
            `Depresión (%)` = pc(mean(Depresión)), `TDAH (%)` = pc(mean(TDAH)), .groups = "drop")
kable(tab_auto, align = "lrrrr",
      caption = "Tabla 13. Diagnósticos autorreportados según autoidentificación")
Tabla 13. Diagnósticos autorreportados según autoidentificación
Ha considerado ser autista n Ansiedad (%) Depresión (%) TDAH (%)
No 69 7.2 7.2 4.3
Sí 49 18.4 10.2 8.2
ace_auto <- as_tibble(A_[m0, ]) %>% setNames(paste0("ACE", 1:10, " · ", etiq_ace)) %>%
  mutate(considera = cons) %>% filter(!is.na(considera)) %>%
  pivot_longer(-considera, names_to = "item", values_to = "v") %>%
  group_by(considera, item) %>% summarise(pct = mean(v, na.rm = TRUE), .groups = "drop") %>%
  mutate(item = factor(item, levels = rev(paste0("ACE", 1:10, " · ", etiq_ace))),
         grupo = if_else(considera == SI, "Ha considerado ser autista", "No lo ha considerado"))
ace_ancho <- ace_auto %>% select(item, grupo, pct) %>% pivot_wider(names_from = grupo, values_from = pct)
ggplot(ace_auto, aes(pct, item)) +
  geom_segment(data = ace_ancho, aes(x = `No lo ha considerado`, xend = `Ha considerado ser autista`, y = item, yend = item),
               inherit.aes = FALSE, colour = "#C9C3CF", linewidth = 1.2) +
  geom_point(aes(colour = grupo), size = 2.8) +
  scale_colour_manual(values = c("Ha considerado ser autista" = "#9C76C1", "No lo ha considerado" = azul), name = NULL) +
  scale_x_continuous(labels = percent, limits = c(0, NA)) +
  labs(x = NULL, y = NULL) + tema
Figura 8. Experiencias adversas según autoidentificación (% que responde Sí).

Figura 8. Experiencias adversas según autoidentificación (% que responde Sí).

49 personas han considerado ser autistas y 69 no.

Respuestas por sexo

sx <- d[m0, ]$sexo
fm <- sx %in% c("Femenino", "Masculino")
pct_sexo <- function(mat_bin, etiquetas, bloque) {
  as_tibble(mat_bin[fm, , drop = FALSE]) %>%
    setNames(etiquetas) %>% mutate(sexo = sx[fm]) %>%
    pivot_longer(-sexo, names_to = "item", values_to = "v") %>%
    group_by(sexo, item) %>% summarise(pct = mean(v, na.rm = TRUE), .groups = "drop") %>%
    mutate(bloque = bloque, item = factor(item, levels = rev(etiquetas)))
}
T_bin <- cbind(as.matrix(d[m0, paste0("T", 1:6)]) >= 3, T7 = d[m0, ]$T7 >= 3) * 1
AQ_bin <- sapply(aq10$item, function(j) {
  v <- AQr[m0, j]; if (j %in% aq_inv) as.integer(v == 4) else as.integer(v >= 3) })
ACE_bin <- A_[m0, ]
ant <- d[m0, c("dx", "considera", "sugerencia", "fam_tea", "terapia", "persist")]
ANT_bin <- sapply(ant, function(x) ifelse(is.na(x), NA, as.integer(x == SI)))
sexo_long <- bind_rows(
  pct_sexo(T_bin, paste0("T", 1:7), "Tamizaje"),
  pct_sexo(AQ_bin, paste0("AQ", aq10$item), "AQ-10"),
  pct_sexo(ACE_bin, paste0("ACE", 1:10), "Experiencias adversas"),
  pct_sexo(ANT_bin, c("Diagnóstico TEA", "Ha considerado ser autista", "Sugerencia profesional",
                      "Familiar con TEA", "Terapia (5 años)", "Dificultades desde la infancia"), "Antecedentes")
) %>% mutate(bloque = factor(bloque, levels = c("Tamizaje", "AQ-10", "Experiencias adversas", "Antecedentes")))
n_f <- sum(sx == "Femenino", na.rm = TRUE); n_m <- sum(sx == "Masculino", na.rm = TRUE)

Mujeres (n = 82) y hombres (n = 67). Cuenta como presente Frecuentemente o Siempre en el tamizaje, Sí en experiencias adversas y antecedentes, y la respuesta en dirección del rasgo (criterio estricto) en el AQ-10.

ancho <- sexo_long %>% select(bloque, item, sexo, pct) %>% pivot_wider(names_from = sexo, values_from = pct)
ggplot(sexo_long, aes(pct, item)) +
  geom_segment(data = ancho, aes(x = Femenino, xend = Masculino, y = item, yend = item),
               inherit.aes = FALSE, colour = "#C9C3CF", linewidth = 1.2) +
  geom_point(aes(colour = sexo), size = 2.8) +
  facet_grid(bloque ~ ., scales = "free_y", space = "free_y") +
  scale_colour_manual(values = c(Femenino = "#9C76C1", Masculino = azul), name = NULL) +
  scale_x_continuous(labels = percent, limits = c(0, NA)) +
  labs(x = NULL, y = NULL) + tema +
  theme(strip.text.y = element_text(angle = 0, face = "bold", hjust = 0))
Figura 9. Porcentaje por ítem según sexo.

Figura 9. Porcentaje por ítem según sexo.

Diccionario de ítems

Tamizaje basado en el DSM-5 (T1–T7)
Código Ítem
T1 En conversaciones, ¿le resulta difícil mantener un intercambio equilibrado (responder, hacer preguntas, compartir intereses o emociones)?
T2 ¿Suele tener dificultad para iniciar interacciones sociales o responder cuando otros intentan interactuar contigo?
T3 ¿Le cuesta interpretar o usar señales no verbales (contacto visual, gestos, expresiones faciales) durante la comunicación?
T4 ¿Ha tenido dificultades para formar o mantener relaciones cercanas (amistades o vínculos afectivos) debido a problemas para entender dinámicas sociales (compartir juegos imaginativos o interés)?
T5 ¿Experimenta malestar significativo ante cambios en rutinas o prefieres seguir patrones en tu vida diaria (dificultad ante cambios pequeños o transiciones, necesidad de tomar el mismo camino, asiento o alimento cada día)?
T6 ¿Presenta intereses muy intensos y focalizados o reacciones inusuales ante estímulos sensoriales (sonidos, luces, texturas, olores)?
T7 ¿Suele esforzarse conscientemente por adaptar su comportamiento en situaciones sociales para parecer “más natural” o evitar que otros noten dificultades en la interacción?
AQ-50 (I = ítem invertido)
Código AQ-10 Ítem
AQ1 (I) Prefiero hacer las cosas con otras personas en lugar de hacerlas sólo
AQ2 Prefiero hacer las cosas siempre de la misma manera
AQ3 (I) Cuando trato de imaginarme algo, me resulta fácil crear la imagen en mi mente
AQ4 Frecuentemente me concentro tanto en una cosa que no presto atención a otras cosas
AQ5 Sí A menudo escucho ciertos sonidos que las otras personas no oyen
AQ6 Normalmente presto atención a las matrículas de los coches, u otras informaciones similares
AQ7 Las otras personas frecuentemente me dicen que lo que yo digo es maleducado, aunque yo en realidad no creo que sea así
AQ8 (I) Cuando estoy leyendo un libro me resulta fácil imaginarme como son los personajes de la historia
AQ9 Me interesan mucho las fechas
AQ10 (I) Cuando estoy en una reunión me resulta fácil seguir varias conversaciones a la vez
AQ11 (I) Las situaciones sociales me resultan fáciles
AQ12 Suelo prestar atención a detalles que otras personas no ven
AQ13 Prefiero ir a una biblioteca en lugar de ir a una fiesta
AQ14 (I) Me resulta fácil inventar historias
AQ15 (I) Me siento más atraído por las personas que por las cosas
AQ16 Suelo tener un fuerte interés por ciertas cosas y me molesta si no puedo realizarlas
AQ17 (I) Me gusta charlar
AQ18 Cuando yo hablo apenas dejo hablar a los demás
AQ19 Me interesan mucho los números
AQ20 Sí Cuando leo un cuento me resulta muy difícil interpretar las intenciones de los personajes
AQ21 No disfruto especialmente con los libros de ciencia ficción
AQ22 Me resulta difícil hacer nuevos amigos
AQ23 Siempre descubro patrones en las cosas
AQ24 (I) Prefiero ir al teatro que a un museo
AQ25 (I) No me molesta si mi rutina diaria se modifica
AQ26 Frecuentemente noto que me cuesta mantener una conversación con otra persona
AQ27 (I) Sí Me resulta fácil “leer entre líneas” o captar el doble sentido, cuando alguien me está hablando
AQ28 (I) Sí Normalmente me concentro más en el todo que en los detalles
AQ29 (I) No soy bueno para recordar números de teléfono
AQ30 (I) Normalmente no noto pequeños cambios en una situación o en el aspecto de una persona
AQ31 (I) Sí Me doy cuenta cuando una persona con la que estoy hablando se aburre
AQ32 (I) Sí Me resulta fácil hacer más de una cosa a la vez
AQ33 Cuando hablo por teléfono me cuesta darme cuenta de cuando es mi turno para hablar
AQ34 (I) Me gusta hacer las cosas espontáneamente (sin planificar)
AQ35 A menudo soy el último en entender una broma
AQ36 (I) Sí Me resulta fácil imaginarme lo que una persona puede estar pensando o sintiendo sólo con mirarla a la cara
AQ37 (I) Sí Puedo retomar lo que estaba haciendo después de una interrupción
AQ38 (I) Soy bueno charlando
AQ39 La gente me dice que suelo hablar siempre de un mismo tema
AQ40 (I) Cuando era más pequeño me gustaba jugar con los demás a juegos de imaginación
AQ41 Sí Me gusta recabar información sobre clases de cosas (por ejemplo, tipos de coches, de pájaros, de trenes, de plantas, etc.)
AQ42 Me resulta difícil imaginarme como sería ser otra persona
AQ43 Me gusta planificar cuidadosamente las actividades en las que participo
AQ44 (I) Disfruto de las reuniones sociales
AQ45 Sí Me resulta difícil identificar las intenciones de las otras personas
AQ46 Las situaciones nuevas me ponen ansioso
AQ47 (I) Me gusta conocer gente nueva
AQ48 (I) Soy bastante diplomático
AQ49 (I) No soy muy bueno para recordar fechas de cumpleaños
AQ50 (I) Me resulta fácil jugar a juegos de imaginación con niños
Health-SigQOLM (S01–S33)
Código Dominio Ítem
S01 Síntomas y atención médica Siento malestar en alguna parte de mi cuerpo.
S02 Síntomas y atención médica Tengo que tomar medicamentos.
S03 Síntomas y atención médica Tengo que ir al médico.
S04 Síntomas y atención médica Siento dolor en alguna parte de mi cuerpo.
S05 Síntomas y atención médica Me siento poco saludable.
S06 Energía y capacidad física Me agoto fácilmente al realizar mis actividades diarias (por ejemplo, caminar, trabajar, etc.).
S07 Energía y capacidad física No puedo cargar objetos pesados que antes sí podía cargar.
S08 Energía y capacidad física No puedo realizar tareas pesadas que antes sí podía hacer.
S09 Energía y capacidad física Siento falta de energía física.
S10 Emocionalidad Me siento deprimido(a).
S11 Emocionalidad Me siento ansioso(a).
S12 Emocionalidad No tengo motivación para realizar actividades.
S13 Independencia Dependo de otras personas para moverme de un lugar a otro.
S14 Independencia Necesito ayuda de otras personas para realizar mis actividades diarias.
S15 Independencia Soy dependiente de otras personas para cubrir mis necesidades de autocuidado.
S16 Independencia Necesito un equipo (por ejemplo: bastón, silla de ruedas, etc.) para poder movilizarme.
S17 Movilidad Mis movimientos son más lentos que los de personas de mi edad.
S18 Movilidad Tengo dificultad para subir escaleras.
S19 Movilidad Siento dolor cuando me muevo.
S20 Sueño No estoy satisfecho(a) con la calidad de mi sueño.
S21 Sueño Tengo dificultad para quedarme dormido(a).
S22 Sueño Duermo menos de 6 horas por noche.
S23 Sueño Me siento cansado(a) al despertar.
S24 Alimentación Soy cuidadoso(a) con lo que como.
S25 Alimentación Necesito controlar mi dieta.
S26 Imagen corporal No estoy satisfecho(a) con mi imagen corporal.
S27 Imagen corporal No estoy satisfecho(a) con mi peso.
S28 Imagen corporal Deseo cambiar mi imagen corporal.
S29 Imagen corporal No me gusta mi apariencia física actual.
S30 Preocupación por la salud futura Me preocupa sufrir mala salud en los próximos 5 años.
S31 Preocupación por la salud futura Me preocupa que mi esperanza de vida sea más corta que la de personas de mi edad.
S32 Preocupación por la salud futura Me preocupa que mi salud no mejore.
S33 Preocupación por la salud futura No tengo una solución para mejorar mi salud.
Experiencias adversas en la infancia (ACE1–ACE10)
Código Resumen Ítem
ACE1 Abuso emocional ¿Alguno de sus padres u otros adultos en su casa lo ofendían, lo insultaban, lo menospreciaban o lo humillaban con frecuencia o con mucha frecuencia, o actuaban de tal forma que temía que lo fueran a lastimar físicamente?
ACE2 Abuso físico ¿Alguno de sus padres u otros adultos en su casa lo empujaban, lo jalaban, lo abofeteaban, o le aventaban cosas con frecuencia o con mucha frecuencia?, o ¿alguna vez lo golpearon con tanta fuerza que le dejaron marcas o lo lastimaron?
ACE3 Abuso sexual ¿Algún adulto u otra persona al menos cinco años mayor que usted lo tocó alguna vez, lo intentó o le pidió que usted lo tocara de alguna forma sexual?
ACE4 Negligencia emocional ¿Sentía con frecuencia o con mucha frecuencia que nadie en su familia lo quería o pensaba que usted era especial o importante?, o ¿en su familia no se cuidaban unos a los otros, no sentían que tenían una relación cercana, o no se apoyaban?
ACE5 Negligencia física ¿Sentía usted con frecuencia o con mucha frecuencia que no tenía suficiente comida, que tenía que usar ropa sucia o que no tenía a nadie que lo protegiera? ¿Sus padres estaban demasiado borrachos o drogados para cuidarlo o llevarlo al médico si es que lo necesitaba?
ACE6 Pérdida de un padre (divorcio, abandono u otra) ¿Alguna vez perdió a su padre o madre biológicos debido a un divorcio, abandono o alguna otra razón?
ACE7 Violencia contra la madre ¿Con frecuencia o con mucha frecuencia empujaban, jalaban, golpeaban o le aventaban cosas a su madre o madrastra?, o ¿con frecuencia o con mucha frecuencia, le pegaban, la mordían, le daban puñetazos o la golpeaban con algún objeto duro? ¿Alguna vez la golpearon durante varios minutos seguidos o la amenazaron con una pistola o un cuchillo?
ACE8 Consumo de alcohol o drogas en el hogar ¿Vivió usted con alguien que se emborrachaba, que era alcohólico o que usaba drogas?
ACE9 Enfermedad mental o intento de suicidio en la familia ¿Algún miembro de su familia sufría depresión o alguna otra enfermedad mental, o trató de suicidarse?
ACE10 Familiar en la cárcel ¿Algún miembro de su familia estuvo en la cárcel?
RMET: respuesta correcta por ítem
Ítem Respuesta correcta Acierto (%)
1 Juguetón 58.0
2 Molesto 13.3
3 Deseo 58.0
4 Insistente 62.7
5 Preocupado 67.3
6 Fantasiosa 62.7
7 Intranquilo 45.3
8 Abatido 78.7
9 Angustiada 44.7
10 Prudente 53.3
11 Arrepentido 42.7
12 Escéptico 60.0
13 Expectante 65.3
14 Acusante 72.7
15 Abstraída 47.3
16 Considerado 26.7
17 Insegura 52.0
18 Decidida 88.7
19 Vacilante 37.3
20 Amistoso 82.7
21 Fantasiosa 76.0
22 Angustiada 70.7
23 Desafiante 56.0
24 Abstraído 56.0
25 Interesada 42.7
26 Hostil 64.0
27 Prudente 39.3
28 Interesada 76.0
29 Reflexiva 64.0
30 Seductora 82.7
31 Segura 70.7
32 Serio 73.3
33 Preocupado 54.0
34 Recelosa 46.7
35 Nerviosa 44.0
36 Desconfiado 68.7

Referencias

Allison, C., Auyeung, B., & Baron-Cohen, S. (2012). Toward brief “red flags” for autism screening: The Short Autism Spectrum Quotient and the Short Quantitative Checklist in 1,000 cases and 3,000 controls. Journal of the American Academy of Child & Adolescent Psychiatry, 51(2), 202–212. https://doi.org/10.1016/j.jaac.2011.11.003

American Educational Research Association, American Psychological Association, & National Council on Measurement in Education. (2014). Standards for educational and psychological testing. AERA.

Arnett, J. J. (2000). Emerging adulthood: A theory of development from the late teens through the twenties. American Psychologist, 55(5), 469–480. https://doi.org/10.1037/0003-066X.55.5.469

Baron-Cohen, S., Wheelwright, S., Skinner, R., Martin, J., & Clubley, E. (2001). The Autism-Spectrum Quotient (AQ): Evidence from Asperger syndrome/high-functioning autism, males and females, scientists and mathematicians. Journal of Autism and Developmental Disorders, 31(1), 5–17. https://doi.org/10.1023/A:1005653411471

English, M. C. W., Gignac, G. E., Visser, T. A. W., Whitehouse, A. J. O., & Maybery, M. T. (2020). A comprehensive psychometric analysis of autism-spectrum quotient factor models using two large samples. Autism Research, 13(1), 45–60. https://doi.org/10.1002/aur.2198

Meade, A. W., & Craig, S. B. (2012). Identifying careless responses in survey data. Psychological Methods, 17(3), 437–455. https://doi.org/10.1037/a0028085

Olderbak, S., Wilhelm, O., Olaru, G., Geiger, M., Brenneman, M. W., & Roberts, R. D. (2015). A psychometric analysis of the Reading the Mind in the Eyes Test: Toward a brief form for research and applied settings. Frontiers in Psychology, 6, Artículo 1503. https://doi.org/10.3389/fpsyg.2015.01503

Información de la sesión de R
## R version 4.5.3 (2026-03-11 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] grid      stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] knitr_1.51      psych_2.6.5     scales_1.4.0    patchwork_1.3.2
##  [5] ggplot2_4.0.3   tibble_3.3.1    forcats_1.0.1   stringr_1.6.0  
##  [9] tidyr_1.3.2     dplyr_1.2.1    
## 
## loaded via a namespace (and not attached):
##  [1] gtable_0.3.6       jsonlite_2.0.0     compiler_4.5.3     tidyselect_1.2.1  
##  [5] parallel_4.5.3     jquerylib_0.1.4    textshaping_1.0.5  systemfonts_1.3.2 
##  [9] yaml_2.3.12        fastmap_1.2.0      lattice_0.22-9     R6_2.6.1          
## [13] labeling_0.4.3     generics_0.1.4     svglite_2.2.2      bslib_0.10.0      
## [17] pillar_1.11.1      RColorBrewer_1.1-3 rlang_1.2.0        cachem_1.1.0      
## [21] stringi_1.8.7      xfun_0.57          S7_0.2.2           sass_0.4.10       
## [25] otel_0.2.0         cli_3.6.6          withr_3.0.2        magrittr_2.0.5    
## [29] digest_0.6.39      rstudioapi_0.19.0  nlme_3.1-168       lifecycle_1.0.5   
## [33] vctrs_0.7.2        mnormt_2.1.2       evaluate_1.0.5     glue_1.8.0        
## [37] farver_2.1.2       ragg_1.5.2         rmarkdown_2.31     purrr_1.2.2       
## [41] tools_4.5.3        pkgconfig_2.0.3    htmltools_0.5.9