首先,让我们认识到使用非线性模型查看 R^2 不是我的选择。但我必须这样做。
我有六次治疗,每次治疗四次。我为每种治疗拟合了一个逻辑模型。我需要找到每个适合治疗的 R^2。我可以在固定效应(所有治疗)上找到模型的 R^2,但后来我对列表在 nlme 中的工作方式感到困惑。我怎样才能要求特定于随机效应(每种治疗)的东西?
也许这个情节会让事情变得更清楚。我将发布的代码会给我蓝线的 R^2,但我想要粉红色的线 R^2。
这是我到目前为止运行的代码:
#Changes in root biomass over four years in 6 different cropping systems
yr<-read.table("totalfallmass2.txt", header=TRUE)
library(nlme)
yrG<-groupedData(mass ~ year | trt, data=yr)
fit.log <- nlsList(mass ~ SSlogis(year, Asym, xmid, scal), data = yrG)
fit.nlme <- nlme(fit.log, random = pdDiag(Asym ~ 1))
plot(augPred(fit.nlme, level = 0:1))
#For an overall R^2
cor(fitted(fit.nlme),getResponse(fit.nlme))^2
这是运行它所需的数据: