<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p dir="ltr" style="margin-top: 0pt;margin-bottom: 0pt;"
id="internal-source-marker_0.7472336933730773"><span
style="font-size:15px;font-family:Arial;color:#0000ff;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Dear
Kimmy,</span></p>
<br>
<span
style="font-size:15px;font-family:Arial;color:#0000ff;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span>
<p dir="ltr" style="margin-top: 0pt;margin-bottom: 0pt;"><span
style="font-size:15px;font-family:Arial;color:#0000ff;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">you
asked why sensParams doesn’t work when all offspring go to
discrete classes. We have found the bug (offspringRel (i.e. the
relationship between offspring size and parent size) is, of
course, not defined in such a case). Below you can find a fixed
version of sensParams that will take this into account. It will
also be in the next version of IPMpack.</span></p>
<br>
<span
style="font-size:15px;font-family:Arial;color:#0000ff;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span>
<p dir="ltr" style="margin-top: 0pt;margin-bottom: 0pt;"><span
style="font-size:15px;font-family:Arial;color:#0000ff;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">best
wishes,</span></p>
<span
style="font-size:15px;font-family:Arial;color:#0000ff;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Jess,
Eelke</span><br>
<br>
-----------------------------------------<br>
<pre>Hey all,
I am trying to use sensParams on my IPM, and am getting the error message
"Error in <a href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/ipmpack-users">fecObj at offspringRel</a>$coeff :
object of type 'S4' is not subsettable"
My fecObj is : fvS<-makeFecObj(SIPM,Formula=(fec2~size),Family="binomial",fecConstants
= data.frame(seedlingsPerRep=2.5),
offspringSplitter=data.frame(continuous=0,Seedling=1),
)
and the offspringRE1 slot says:
Slot "offspringRel":
<S4 Type Object>
attr(,".S3Class")
[1] "lm"
Anyone know how to make it NOT an S4 type object?? Thanks!!
-Kimmy Kellett</pre>
------------------------------------------<br>
<br>
<br>
## Sensitivity of parameters - works for an IPM built out of<br>
## growth, survival, discreteTrans, fecundity and clonality objects.
<br>
##<br>
sensParams <- function (growObj, survObj, fecObj=NULL,
clonalObj=NULL,<br>
nBigMatrix, minSize, maxSize,<br>
chosenCov = data.frame(covariate = 1), discreteTrans = 1,<br>
integrateType = "midpoint", correction = "none", preCensus =
TRUE,<br>
delta = 1e-04, response="lambda", chosenBin=1) {<br>
<br>
if (response!="lambda" & response!="R0" & response
!="lifeExpect")<br>
stop("response must be one of lambda or R0 or lifeExpect")<br>
<br>
nmes <- elam <- slam <- c()<br>
<br>
# get the base<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix, minSize
= minSize,<br>
chosenCov = chosenCov, maxSize = maxSize, growObj =
growObj,<br>
survObj = survObj, discreteTrans = discreteTrans,
integrateType = integrateType,<br>
correction = correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize, fecObj =
fecObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj, growObj =
growObj)<br>
} else {Fmatrix <- Pmatrix*0 }<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize, clonalObj
= clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj, growObj =
growObj)<br>
} else {Cmatrix <- Pmatrix*0 }<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc1 <- Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc1 <- R0Calc(Pmatrix, Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc1 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
# 1. survival<br>
for (j in 1:length(survObj@fit$coeff)) {<br>
survObj@fit$coefficients[j] <-
survObj@fit$coefficients[j] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, growObj =
growObj,<br>
survObj = survObj, discreteTrans = discreteTrans,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix = nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj =
fecObj,<br>
integrateType = integrateType, correction =
correction,<br>
chosenCov = chosenCov, preCensus = preCensus,
survObj = survObj,<br>
growObj = growObj)<br>
} <br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
} <br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <- Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
survObj@fit$coefficients[j] <-
survObj@fit$coefficients[j]/(1 + delta)<br>
<br>
slam <- c(slam, (rc2 -
rc1)/((as.numeric(survObj@fit$coefficients[j]))* delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 *delta))<br>
nmes <- c(nmes,
as.character(paste("survival:",names(survObj@fit$coeff)[j])))<br>
}<br>
<br>
# 2 growth<br>
for (j in 1:length(growObj@fit$coeff)) {<br>
growObj@fit$coefficients[j] <-
growObj@fit$coefficients[j] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, growObj =
growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix = nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj =
fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus = preCensus,
survObj = survObj,<br>
growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <- Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
growObj@fit$coefficients[j] <-
growObj@fit$coefficients[j]/(1 + delta)<br>
<br>
slam <- c(slam, (rc2 -
rc1)/(as.numeric(growObj@fit$coefficients[j]) * delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,
as.character(paste("growth:",names(growObj@fit$coeff)[j])))<br>
}<br>
<br>
growObj@sd <- growObj@sd * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix, minSize
= minSize,<br>
maxSize = maxSize, growObj = growObj, survObj = survObj,<br>
chosenCov = chosenCov, discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction = correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj, integrateType =
integrateType,<br>
chosenCov = chosenCov, correction = correction,
preCensus = preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize, clonalObj
= clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj, growObj =
growObj)<br>
}<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <- Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix, Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
growObj@sd <- growObj@sd / (1 + delta)<br>
<br>
slam <- c(slam,(rc2 - rc1)/(growObj@sd * delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, "growth: sd")<br>
<br>
# 3. DiscreteTrans<br>
if (class(discreteTrans)=="discreteTrans") {<br>
for (j in 1:(ncol(discreteTrans@discreteTrans)-1)) {<br>
for (i in 1:(nrow(discreteTrans@discreteTrans)-1)) {<br>
discreteTrans@discreteTrans[i,j]<-discreteTrans@discreteTrans[i,j]
* (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, growObj = growObj,
survObj = survObj,<br>
chosenCov = chosenCov, discreteTrans =
discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj,
integrateType = integrateType,<br>
chosenCov = chosenCov, correction =
correction, preCensus = preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
discreteTrans@discreteTrans[i,j]<-discreteTrans@discreteTrans[i,j]
/ (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(discreteTrans@discreteTrans[i,j] * delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,
as.character(paste("discrete:",dimnames(discreteTrans@discreteTrans)[[2]][j],"to",dimnames(discreteTrans@discreteTrans)[[1]][i])))<br>
}<br>
}<br>
#if there is more than 2 discrete stages (beyond
"continuous" "dead" and one discrete stage)<br>
#then survToDiscrete tells you how many of surviving
continuous individuals are going into <br>
#discrete classes, but how they distributed also; which is
the last column in discreteTrans <br>
if (nrow(discreteTrans@discreteTrans)>3) {<br>
for (i in 1:(nrow(discreteTrans@discreteTrans)-2)) {<br>
discreteTrans@discreteTrans[i,"continuous"]<-discreteTrans@discreteTrans[i,"continuous"]
* (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, growObj = growObj,
survObj = survObj,<br>
chosenCov = chosenCov, discreteTrans =
discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj,
integrateType = integrateType,<br>
chosenCov = chosenCov, correction =
correction, preCensus = preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
discreteTrans@discreteTrans[i,"continuous"]<-discreteTrans@discreteTrans[i,"continuous"]
/ (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(discreteTrans@discreteTrans[i,"continuous"] * delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, as.character(paste("discrete:
Continuous to",dimnames(discreteTrans@discreteTrans)[[1]][i])))<br>
}<br>
}<br>
<br>
for (j in 1:length(discreteTrans@meanToCont)) {<br>
discreteTrans@meanToCont[1,j]<-discreteTrans@meanToCont[1,j] * (1
+ delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, growObj = growObj, survObj =
survObj,<br>
chosenCov = chosenCov, discreteTrans =
discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj,
integrateType = integrateType,<br>
chosenCov = chosenCov, correction =
correction, preCensus = preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
}<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
discreteTrans@meanToCont[1,j]<-discreteTrans@meanToCont[1,j] / (1
+ delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(discreteTrans@meanToCont[1,j] * delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, as.character(paste("discrete:
meanToCont",dimnames(discreteTrans@meanToCont)[[2]][j])))<br>
}<br>
<br>
for (j in 1:length(discreteTrans@sdToCont)) {<br>
discreteTrans@sdToCont[1,j]<-discreteTrans@sdToCont[1,j] * (1 +
delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, growObj = growObj, survObj =
survObj,<br>
chosenCov = chosenCov, discreteTrans =
discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj,
integrateType = integrateType,<br>
chosenCov = chosenCov, correction =
correction, preCensus = preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
}<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
discreteTrans@sdToCont[1,j]<-discreteTrans@sdToCont[1,j] / (1 +
delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(discreteTrans@sdToCont[1,j] * delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, as.character(paste("discrete:
sdToCont",dimnames(discreteTrans@sdToCont)[[2]][j])))<br>
}<br>
<br>
for (j in 1:length(discreteTrans@survToDiscrete$coef)) {<br>
discreteTrans@survToDiscrete$coefficients[j]<-discreteTrans@survToDiscrete$coefficients[j]
* (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, growObj = growObj, survObj =
survObj,<br>
chosenCov = chosenCov, discreteTrans =
discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj,
integrateType = integrateType,<br>
chosenCov = chosenCov, correction =
correction, preCensus = preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
}<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
discreteTrans@survToDiscrete$coefficients[j]<-discreteTrans@survToDiscrete$coefficients[j]
/ (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(discreteTrans@survToDiscrete$coefficients[j]) *
delta))<br>
elam <- c(elam, (rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, as.character(paste("discrete:
survToDiscrete",names(discreteTrans@survToDiscrete$coefficients)[j])))<br>
}<br>
}<br>
<br>
# 4. Fecundity<br>
if (!is.null(fecObj)) {<br>
for (i in 1:length(fecObj@fitFec)) {<br>
for (j in 1:length(fecObj@fitFec[[i]]$coefficients)) {<br>
fecObj@fitFec[[i]]$coefficients[j] <-
fecObj@fitFec[[i]]$coefficients[j] *<br>
(1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj
= fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
fecObj@fitFec[[i]]$coefficients[j] <-
fecObj@fitFec[[i]]$coefficients[j]/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/((as.numeric(fecObj@fitFec[[i]]$coefficients[j]) * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("fecundity: func", i,
names(fecObj@fitFec[[i]]$coefficients)[j]))<br>
}<br>
}<br>
<br>
chs <- which(!is.na(as.numeric(fecObj@fecConstants)),
arr.ind = TRUE)<br>
if (length(chs) > 0) {<br>
for (j in 1:length(chs)) {<br>
fecObj@fecConstants[1,chs[j]] <-
fecObj@fecConstants[1,chs[j]] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj
= fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
fecObj@fecConstants[1, chs[j]] <-
fecObj@fecConstants[1,chs[j]]/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(fecObj@fecConstants[1,chs[j]] * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("fecundity:
constant",names(fecObj@fecConstants)[chs[j]]))<br>
}<br>
}<br>
<br>
if (max(fecObj@offspringSplitter)<1) {<br>
for (j in which(fecObj@offspringSplitter>0)) {<br>
fecObj@offspringSplitter[j] <-
fecObj@offspringSplitter[j] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj
= fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
fecObj@offspringSplitter[j] <-
fecObj@offspringSplitter[j] / (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(fecObj@offspringSplitter[j] * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("fecundity:
offspringSplitter",names(fecObj@offspringSplitter[j])))<br>
}<br>
}<br>
<br>
chs <- which(!is.na(as.numeric(fecObj@fecByDiscrete)),
arr.ind = TRUE)<br>
if (length(chs) > 0) {<br>
for (j in 1:length(chs)) {<br>
fecObj@fecByDiscrete[1,chs[j]] <-
fecObj@fecByDiscrete[1,chs[j]] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj
= fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
fecObj@fecByDiscrete[1,chs[j]] <-
fecObj@fecByDiscrete[1,chs[j]] / (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(fecObj@fecByDiscrete[1,chs[j]] * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("fecundity:
fecByDiscrete",names(fecObj@fecByDiscrete)[chs[j]]))<br>
}<br>
}<br>
<br>
if (class(fecObj@offspringRel)=="lm") {<br>
for (j in 1:length(fecObj@offspringRel$coeff)) {<br>
fecObj@offspringRel$coefficients[j] <-
fecObj@offspringRel$coefficients[j] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj
= fecObj,<br>
integrateType = integrateType, correction =
correction,<br>
chosenCov = chosenCov, preCensus =
preCensus, survObj = survObj,<br>
growObj = growObj)<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize =
maxSize, clonalObj = clonalObj,<br>
integrateType = integrateType,
correction = correction,<br>
preCensus = preCensus, survObj =
survObj, growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
fecObj@offspringRel$coefficients[j] <-
fecObj@offspringRel$coefficients[j]/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(fecObj@offspringRel$coefficients[j]) *delta))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 *delta))<br>
nmes <- c(nmes, as.character(paste("fecundity:
offspring rel ",names(fecObj@offspringRel$coeff)[j])))<br>
}<br>
<br>
fecObj@sdOffspringSize <- fecObj@sdOffspringSize * (1
+ delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, growObj = growObj, chosenCov
= chosenCov,<br>
survObj = survObj, discreteTrans =
discreteTrans, integrateType = integrateType,<br>
correction = correction)<br>
Fmatrix <- createIPMFmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, fecObj = fecObj, chosenCov =
chosenCov,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
if (!is.null(clonalObj)) {<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
}<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
fecObj@sdOffspringSize <- fecObj@sdOffspringSize/(1 +
delta)<br>
<br>
slam <- c(slam,(rc2 - rc1)/(fecObj@sdOffspringSize *
delta))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, "fecundity: sd offspring size")<br>
}<br>
}<br>
<br>
# 5. Clonality<br>
if (!is.null(clonalObj)) {<br>
for (i in 1:length(clonalObj@fitFec)) {<br>
for (j in 1:length(clonalObj@fitFec[[i]]$coefficients))
{<br>
clonalObj@fitFec[[i]]$coefficients[j] <-
clonalObj@fitFec[[i]]$coefficients[j] *<br>
(1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
fecObj = fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
clonalObj@fitFec[[i]]$coefficients[j] <-
clonalObj@fitFec[[i]]$coefficients[j]/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/((as.numeric(clonalObj@fitFec[[i]]$coefficients[j]) * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("clonality: func", i,
names(clonalObj@fitFec[[i]]$coefficients)[j]))<br>
}<br>
}<br>
<br>
chs <- which(!is.na(as.numeric(clonalObj@fecConstants)),
arr.ind = TRUE)<br>
if (length(chs) > 0) {<br>
for (j in 1:length(chs)) {<br>
clonalObj@fecConstants[1,chs[j]] <-
clonalObj@fecConstants[1,chs[j]] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
fecObj = fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
clonalObj@fecConstants[1, chs[j]] <-
clonalObj@fecConstants[1,chs[j]]/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(clonalObj@fecConstants[1,chs[j]] * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("clonality:
constant",names(clonalObj@fecConstants)[chs[j]]))<br>
}<br>
}<br>
<br>
if (max(clonalObj@offspringSplitter)<1) {<br>
for (j in which(clonalObj@offspringSplitter>0)) {<br>
clonalObj@offspringSplitter[j] <-
clonalObj@offspringSplitter[j] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
fecObj = fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
clonalObj@offspringSplitter[j] <-
clonalObj@offspringSplitter[j] / (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(clonalObj@offspringSplitter[j] * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("clonality:
offspringSplitter",names(clonalObj@offspringSplitter[j])))<br>
}<br>
}<br>
<br>
chs <- which(!is.na(as.numeric(clonalObj@fecByDiscrete)),
arr.ind = TRUE)<br>
if (length(chs) > 0) {<br>
for (j in 1:length(chs)) {<br>
clonalObj@fecByDiscrete[1,chs[j]] <-
clonalObj@fecByDiscrete[1,chs[j]] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
fecObj = fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
clonalObj@fecByDiscrete[1,chs[j]] <-
clonalObj@fecByDiscrete[1,chs[j]] / (1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(clonalObj@fecByDiscrete[1,chs[j]] * delta)))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes,paste("clonality:
fecByDiscrete",names(clonalObj@fecByDiscrete)[chs[j]]))<br>
}<br>
}<br>
<br>
if (class(clonalObj@offspringRel)=="lm") {<br>
for (j in 1:length(clonalObj@offspringRel$coeff)) {<br>
clonalObj@offspringRel$coefficients[j] <-
clonalObj@offspringRel$coefficients[j] * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
growObj = growObj,<br>
chosenCov = chosenCov, survObj = survObj,
discreteTrans = discreteTrans,<br>
integrateType = integrateType, correction =
correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize,
fecObj = fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
Cmatrix <- createIPMCmatrix(nBigMatrix =
nBigMatrix, minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
clonalObj@offspringRel$coefficients[j] <-
clonalObj@offspringRel$coefficients[j]/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 -
rc1)/(as.numeric(clonalObj@offspringRel$coefficients[j]) *delta))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 *delta))<br>
nmes <- c(nmes, as.character(paste("clonality:
offspring rel ",names(clonalObj@offspringRel$coeff)[j])))<br>
}<br>
<br>
clonalObj@sdOffspringSize <-
clonalObj@sdOffspringSize * (1 + delta)<br>
Pmatrix <- createIPMPmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
maxSize = maxSize, growObj = growObj, chosenCov
= chosenCov,<br>
survObj = survObj, discreteTrans =
discreteTrans, integrateType = integrateType,<br>
correction = correction)<br>
if (!is.null(fecObj)) {<br>
Fmatrix <- createIPMFmatrix(nBigMatrix =
nBigMatrix,<br>
minSize = minSize, maxSize = maxSize, fecObj
= fecObj,<br>
chosenCov = chosenCov, integrateType =
integrateType,<br>
correction = correction, preCensus =
preCensus,<br>
survObj = survObj, growObj = growObj)<br>
}<br>
Cmatrix <- createIPMCmatrix(nBigMatrix = nBigMatrix,
minSize = minSize,<br>
chosenCov = chosenCov, maxSize = maxSize,
clonalObj = clonalObj,<br>
integrateType = integrateType, correction =
correction,<br>
preCensus = preCensus, survObj = survObj,
growObj = growObj)<br>
<br>
IPM <- Pmatrix + Fmatrix + Cmatrix<br>
<br>
if (response=="lambda") rc2 <-
Re(eigen(IPM)$value[1])<br>
if (response=="R0") rc2 <- R0Calc(Pmatrix,
Fmatrix+Cmatrix)<br>
if (response=="lifeExpect") rc2 <-
meanLifeExpect(Pmatrix)[chosenBin]<br>
<br>
clonalObj@sdOffspringSize <-
clonalObj@sdOffspringSize/(1 + delta)<br>
<br>
slam <- c(slam,(rc2 - rc1)/(clonalObj@sdOffspringSize
* delta))<br>
elam <- c(elam,(rc2 - rc1)/(rc1 * delta))<br>
nmes <- c(nmes, "clonality: sd offspring size")<br>
}<br>
}<br>
<br>
names(slam) <- nmes<br>
names(elam) <- nmes<br>
<br>
return(list(sens = slam, elas = elam))<br>
}<br>
<br>
<br>
<br>
</body>
</html>