Blame | Last modification | View Log | Download | RSS feed
## Really just one section from ../inst/scripts/ch08.R :library(nlme)(fm1Lis <- nlsList(rate ~ SSasympOff(pressure, Asym, lrc, c0) | QB,data = Dialyzer))(iLis <- intervals(fm1Lis))## TODO: stopifnot(all.equal(..)) ?fm1Dial.gnls <- gnls(rate ~ SSasympOff(pressure, Asym, lrc, c0),data = Dialyzer,params = list(Asym + lrc ~ QB, c0 ~ 1),start = c(53.6, 8.6, 0.51, -0.26, 0.225))summary(fm1Dial.gnls)## Modified Data (==> rename it !) ----------------------------------DialyzerM <- DialyzerDialyzerM$QBcontr <- 2 * (Dialyzer$QB == 300) - 1fm1Dial.nls <-nls(rate ~ SSasympOff(pressure, Asym.Int + Asym.QB * QBcontr,lrc.Int + lrc.QB * QBcontr, c0),data = DialyzerM,start = c(Asym.Int = 53.6, Asym.QB = 8.6, lrc.Int = 0.51,lrc.QB = -0.26, c0 = 0.225))summary(fm1Dial.nls)logLik(fm1Dial.nls)plot(fm1Dial.gnls, resid(.) ~ pressure, abline = 0)fm2Dial.gnls <- update(fm1Dial.gnls,weights = varPower(form = ~ pressure))anova(fm1Dial.gnls, fm2Dial.gnls)ACF(fm2Dial.gnls, form = ~ 1 | Subject)plot(ACF(fm2Dial.gnls, form = ~ 1 | Subject), alpha = 0.05)fm3Dial.gnls <-update(fm2Dial.gnls, corr = corAR1(0.716, form = ~ 1 | Subject))fm3Dial.gnls(im3 <- intervals(fm3Dial.gnls))(a23 <- anova(fm2Dial.gnls, fm3Dial.gnls))anoC <-cbind(fm2Dial.gnls =c(df=7, AIC= 748.4749, BIC= 769.0664, logLik=-367.2375,L.Ratio=NA, "p-value"=NA),fm3Dial.gnls=c(8, 661.0424, 684.5756, -322.5212, 89.4325, 3.e-21))# NB: exact p-value irrelevantstopifnot(all.equal(anoC, t(data.matrix(a23)[,rownames(anoC)]), tol = 7e-7))