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.

¿Conflicto con ‘mgcv:gam’ y otro paquete?

Estoy ajustando GAMMs utilizando el paquete ‘mgcv’ de R. Sin embargo, cuando intento incluir suavizadores aleatorios, obtengo un error sobre vectores recursivos vs. atómicos:

Error: El operador $ no es válido para vectores atómicos

La sintaxis del modelo es un GAMM directo y sé que es correcto (no necesito ayuda con el modelado o la estructura de los datos):

m1 <- bam(Prop ~ Group.ord +
             s(Time, bs="cr") +        
             s(Time, by=Group.ord, bs='cr') + 
             s(Time, Participant, bs="fs", xt="cr", m=1, k=5),
             data=data, method="fREML")

Creo que puede haber un problema de compatibilidad entre paquetes y me preguntaba si alguien ha encontrado conflictos entre mgcv y otro paquete común de R (ya intenté s=mgcv:::s). Nuevamente, esto no se trata de la estructura de mis datos, sé que eso está correcto. Solo quería saber si alguien ha encontrado un problema de compatibilidad entre paquetes.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que exista un problema de compatibilidad de paquetes que esté causando el error “$ operator is invalid for atomic vectors” al intentar incluir suavizados aleatorios en un GAMM utilizando el paquete ‘mgcv’ de R. Sin embargo, sin más información sobre los paquetes específicos que se están utilizando y sus versiones, es difícil determinar la fuente del problema.

    Una cosa que se puede intentar es especificar explícitamente el espacio de nombres del paquete para la llamada a la función ‘s’, de la siguiente manera:

    m1 <- bam(Prop ~ Group.ord +
                 mgcv::s(Time, bs="cr") +        
                 mgcv::s(Time, by=Group.ord, bs='cr') + 
                 mgcv::s(Time, Participant, bs="fs", xt="cr", m=1, k=5),
                 data=data, method="fREML")
    

    Si esto aún resulta en el mismo error, puede ser necesario investigar más a fondo el problema de compatibilidad de paquetes o buscar ayuda por parte de los responsables del paquete.

Comments are closed.