Articles

Affichage des articles du septembre, 2022

Periodic GLM or GLMM

 Let take an example: # generate data  jo <- 1:800  trans_trigo <- 10+sin((jo/365.25)*2*pi)*1+ cos((jo/365.25)*2*pi)*5  obs <- rnorm(n=800, mean=trans_trigo, sd=2)    # plot the data  plot(jo, obs, bty="n", xlim=c(1,800), ylim=c(0,20))  par(new=TRUE)  plot(jo, trans_trigo, bty="n", xlim=c(1,800), ylim=c(0,20), xlab="", ylab="",        axes=FALSE, col="violet", type="l", lwd=2)    # group is per month observation  mydat <- data.frame(obs=obs, jour=jo, jour2=jo*jo, group=round(jo/27))    # glm with ordinal day as linear factor  mod <- glm(obs ~ jour, data=mydat, family=gaussian)  summary(mod)  newdata <- data.frame(jour=1:800)  preddf2 <- predict(mod, type="response", newdata=newdata, se.fit=FALSE)  par(new=TRUE)  plot(jo, preddf2, bty="n", xlim=c(1,800),  ylim=c(0,20), xlab="", ylab="", axes=FALSE, col="red", type="l")    # glm with ordinal day as