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.

Anova para múltiples patrones de puntos no funciona para el modelo de Strauss.

Acabo de comenzar a adentrarme en el análisis espacial y estoy ajustando algunos modelos a mis datos. Mi objetivo principal es probar la regularidad espacial (si existe inhibición entre puntos).

He creado mi hipermarco para los datos a continuación. Hay 6 patrones de puntos (Áreas), 4 en el subhábitat 1 y 2 en el subhábitat 2.

ALL_ppp <- list(a1ppp, a2ppp, a3ppp, a4ppp, a5ppp, a6ppp) 
H <- hyperframe(Area = c("A1","A2","A3","A4","A5","A6"), Subhabitat = c("sbh1","sbh1","sbh1","sbh1","sbh2","sbh2"), Points = ALL_ppp )

Luego creé algunos modelos. Este modelo ajusta un proceso de Strauss con un radio de interacción diferente para cada área, con una intensidad que depende del tipo de subhábitat. Es muy similar al ejemplo en el libro en la página 700.

radii <- c(mean(area1$diameter), mean(area2$diameter),mean(area3$diameter),mean(area4$diameter),mean(area5$diameter),mean(area6$diameter))
Rad <- hyperframe(R=radii)
Str <- with(Rad, Strauss(R))
Int <- hyperframe(str=Str)

fittest8 <- mppm(Points ~ Subhabitat, H, interaction=Int, iformula = ~str:Area)

Me gustaría realizar una prueba formal de significancia para los parámetros de interacción de Strauss utilizando anova.mppm para probar la regularidad. Sin embargo, no estoy seguro de si lo estoy haciendo correctamente, ya que no puedo hacer que esto funcione. He intentado:

fittest8 <- mppm(Points ~ Subhabitat, H, interaction=Int, iformula = ~str:Area)
fitex <- mppm(Points ~ Subhabitat, H)
anova.mppm(fittest8, fitex, test = "Chi")

Obtengo el error “Error: Coefficient ‘str’ is missing from new.coef” y no puedo encontrar una forma de resolver esto. Cualquier consejo sería muy apreciado.

¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con la especificación del término de interacción en los modelos. En el modelo fittest8, estás incluyendo el término de interacción str:Area, pero este término no está incluido en el modelo fitex. Cuando comparas estos dos modelos con anova.mppm, la función espera que ambos modelos tengan el mismo conjunto de coeficientes, lo cual no es el caso porque str:Area solo se incluye en uno de los modelos.

    Una forma de abordar este problema es incluir el término de interacción en ambos modelos y luego utilizar anova.mppm para comparar los modelos. Aquí tienes un ejemplo:

    “`{r}
    fittest8 <- mppm(Puntos ~ Subhabitat + str:Area, H, interaction = Int)
    fitex <- mppm(Puntos ~ Subhabitat + str:Area, H)
    anova.mppm(fittest8, fitex, test = “Chi”)


    En este ejemplo, ambos modelos incluyen el término de interacción `str:Area`, por lo que no debería haber problemas con la comparación utilizando `anova.mppm`. Alternativamente, también podrías intentar especificar el término de interacción como un argumento separado en `anova.mppm`, de esta manera: ```{r} fittest8 <- mppm(Puntos ~ Subhabitat, H, interaction = Int, iformula = ~str:Area) fitex <- mppm(Puntos ~ Subhabitat, H) anova.mppm(fittest8, fitex, test = "Chi", interaction = Int)

    Esto especifica el término de interacción por separado en anova.mppm, por lo que no se verá afectado por las diferencias en la especificación del modelo entre fittest8 y fitex.

    Espero que esto ayude. Avísame si tienes alguna pregunta adicional.

Comments are closed.