data<-read.csv(file.choose()) #Import the package. library(zoo) library(dlnm) library(splines) library(MuMIn) library(psych) library(nlme) library(mgcv) data$holiday<-as.factor(data$holiday) data$dow<-as.factor(data$dow) #modeling varknots1 <- equalknots(data$Meantemperature,fun="bs",df=,degree =3) lagknots1<-logknots(14,3) cb.Meantemperature<-crossbasis(data$Meantemperature,lag=14,argvar = list(knots=varknots1), arglag = list(knots=lagknots1)) varknots2 <- equalknots(data$windspeed,fun="bs",df=,degree = 3) lagknots2<-logknots(14,3) cb.windspeed<-crossbasis(data$windspeed,lag=14,argvar = list(knots=varknots2), arglag = list(knots=lagknots2)) varknots3 <- equalknots(data$PM2.5,fun="bs",df=,degree = 3) lagknots3<-logknots(14,3) cb.PM2.5<-crossbasis(data$PM2.5,lag=14,argvar = list(knots=varknots3), arglag = list(knots=lagknots3)) varknots4 <- equalknots(data$So,fun="bs",df=,degree = 3) lagknots4<-logknots(14,3) cb.So<-crossbasis(data$So,lag=14,argvar = list(knots=varknots4), arglag = list(knots=lagknots4)) varknots6 <- equalknots(data$O3,fun="bs",df=,degree = 3) lagknots6<-logknots(14,3) cb.Ozone<-crossbasis(data$O3,lag=14,argvar = list(knots=varknots6), arglag = list(knots=lagknots6)) model11<-glm(data$numbercases ~ cb.Meantemperature+cb.windspeed+cb.PM2.5+cb.SO2+cb.O3 +ns(time,14*6)+holiday+dow, family = quasipoisson,data = data) #Take temperature as an example to calculate other DLNM data pred.Meantemperature1<-crosspred(cb.Meantemperature,model11,ci.level=0.95,by=1,cen=median(data$Meantemperature),cumul = TRUE) plot(pred.Meantemperature1,xlab="Mean temperature",zlab="RR",theta=200,phi=30,lphi=30, ylab="Lag(day)",font.axis=1,font.lab=1,cex.axis=1,cex.lab=1.2) plot(pred.Meantemperature1,ptype = "slices",cumul = T,lag = 14,xlab="Mean temperature",ylab="RR", col=2, ylim=c(0,4.5),lwd=2,ci.arg=list(col="gray",lty=2),main="Total") pred.Meantemperature1<-crosspred(cb.Meantemperature,model11,ci.level=0.95,by=0.1,cen=median(data$Meantemperature),cumul = TRUE) plot(pred.Meantemperature1,"slices", var=,pch=19,ci="bars",ci.level=0.80,ylab="RR", col=4,lwd=2,type="p",main="Temperature at 90percentile") pred.Meantemperature<-crosspred(cb.Meantemperature,model11,ci.level=0.95,by=0.1,cen=median(data$Meantemperature),cumul = TRUE) round(cbind(pred.Meantemperature$cumRRfit[as.character(),]["lag0"],pred.Meantemperature$cumRRlow[as.character(),]["lag0"], pred.Meantemperature$cumRRhigh[as.character(),]["lag0"]),digits = 3)