es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo dar seguimiento al modelo categórico de brms con emmeans para determinar si existen diferencias entre grupos al elegir una categoría específica sobre otra.

Corrí un modelo brms en R con una interacción compleja de tres vías que estoy intentando descomponer. A continuación puedes ver el código. Tengo una variable dependiente multinomial con tres niveles (feliz/enojado/miedo) y múltiples factores categóricos: grupo (tres niveles; ansiedad social, otra ansiedad, no ansioso) / emoción (tres niveles; feliz, enojado, miedo) / porcentaje (cuatro niveles: 10%, 30%, 50%, 70%). Estoy tratando de determinar cómo puedo responder la siguiente pregunta: ¿Los grupos difieren en sus respuestas a las caras emocionales (por ejemplo, el grupo con ansiedad social tiene más probabilidades que los otros grupos de elegir enojado como su respuesta a caras felices o temerosas en alguno de los niveles de porcentaje? La interacción de tres vías fue significativa.

Mi pregunta es, ¿cómo debo usar emmeans para obtener la salida que deseo para responder esta pregunta? Muchas gracias de antemano por tu respuesta.

Código del modelo:
cormod_multi <- brm(Emochoice ~ f(group) + f(emotion) + f(percentage) + f(group):f(emotion):f(percentage) + (1 + f(emotion):f(percentage) | f(ppn)), data = data_mult, family = ‘categorical’, warmup = 1000, iter = 10000, chains = 4, cores = 10, control = list(adapt_delta = 0.95, max_treedepth = 15))

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para responder a tu pregunta utilizando el paquete emmeans, puedes comenzar extrayendo las estimaciones de tu interacción tridimensional significativa de tu modelo brms utilizando la función emtrends(). Aquí tienes un ejemplo:

    library(emmeans)
    
    # Extraer las estimaciones para la interacción tridimensional
    interact_est <- emtrends(cormod_multi, ~f_group:f_emotion_r:f_percentage)
    
    # Mostrar las estimaciones
    print(interact_est)
    

    Esto te dará las medias estimadas (y errores estándar) para todas las combinaciones posibles de tus tres variables categóricas. Puedes utilizar estas estimaciones para responder a tu pregunta de investigación creando contrastes personalizados utilizando la función contrast().

    Supongamos que quieres comparar al grupo socialmente ansioso con los otros dos grupos en cuanto a su probabilidad de elegir caras enojadas como respuesta a caras felices o temerosas. Puedes crear un contraste personalizado de la siguiente manera:

    # Crear un contraste personalizado para el grupo socialmente ansioso vs. los otros dos grupos
    SA_vs_other <- contrast(interact_est, method = "revpairwise", ref = c(2, 1, 1, 1, 1, 1, 1, 1), name = "SA vs. Otros")
    
    # Mostrar los resultados del contraste
    print(SA_vs_other)
    

    Esto te dará las medias estimadas, errores estándar y valores p para el contraste de interés. Puedes interpretar los resultados observando las medias estimadas y sus diferencias, así como la significancia de los valores p.

    Repite este proceso para cualquier otra comparación de interés. ¡Buena suerte con tu análisis!

Comments are closed.