# run all-model selection for posneg_data object (Step 2) without need to run any previous functions
data(posneg_data)
modseltable <- pn_mod_compare(posneg_data$age, posneg_data$mass,
posneg_data$id, existing = FALSE)
# run backwards stepwise model selection (Step 2) for logist_data object without need to run any previous functions
data(logist_data)
modseltable <- pn_modselect_step(logist_data$age, logist_data$mass,
logist_data$id, existing = FALSE)
# estimate fixed parameters use data object posneg_data (Step 1)
modpar(posneg_data$age,posneg_data$mass)
# change fixed values of M and constrain hatching mass to 45.5 in a growth curve (Step 1)
change.pnparameters(M=1,RM=0.5,first_y=45.5)
# fit nlsList object using 6 parameter model with values M and RM (Step 3)
# fixed to value in pnmodelparams and then fit nlme model
richardsR22.lis <- nlsList(mass ~ SSposnegRichards(age, Asym = Asym, K = K,
Infl = Infl, RAsym = RAsym, Rk = Rk, Ri = Ri,
modno = 22), data = posneg_data)
richardsR22.nlme <- nlme(richardsR22.lis, random = pdDiag(Asym + Infl ~ 1))
# fit reduced nlsList model and then compare performance with extraF (manual version of Step 2)
richardsR20.lis <- nlsList(mass ~ SSposnegRichards(age, Asym = Asym, K = K,
Infl = Infl, modno = 20), data = posneg_data)
extraF(richardsR20.lis,richardsR22.lis)
# fit and plot a logistic curve (M=1) to data, note that all parameters set to equal 1 here are ignored
# note code here forces \eqn{modpar} to only estimate 4 curve parameters (simple Richards curve)
data(logist_data)
modpar(logist_data$age,logist_data$mass,force4par=TRUE)
change.pnparameters(M=1) # set M to 1 for subsequent fit
richardsR20.nls <- nls(mass ~ SSposnegRichards(age, Asym = Asym, K = K,
Infl = Infl, modno = 20), data = logist_data)
plot(logist_data$age , logist_data$mass, xlab = "age", ylab = "mass", pch = ".", cex = 0.7)
par <- coef( richardsR20.nls )
#(Step 4)
curve(posnegRichards_eqn(x, Asym = par[1], K = par[2], Infl = par[3], modno = 20), add= TRUE)
Run the code above in your browser using DataLab