# Example where mesh size does not have a major effect on model output:
dff <- generateData()
Pmatrix <- createIPMPmatrix(minSize = min(dff$size, na.rm = TRUE),
maxSize = max(dff$size, na.rm = TRUE), growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff))
diagnosticsPmatrix(Pmatrix, growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff), dff = dff)
# Compare with the following example where mesh size has an important effect on output:
Pmatrix <- createIPMPmatrix(nBigMatrix = 8, minSize = min(dff$size, na.rm = TRUE),
maxSize = 0.5*max(dff$size, na.rm = TRUE), growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff))
diagnosticsPmatrix(Pmatrix, growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff), dff = dff)
#with cumul
Pmatrix <- createIPMPmatrix(nBigMatrix = 10, minSize = min(dff$size, na.rm = TRUE),
maxSize = max(dff$size, na.rm = TRUE), growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff),
integrateType = "cumul")
diagnosticsPmatrix(Pmatrix, growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff), dff = dff, integrateType = "cumul")
#with truncated increment (fit is quite bad, lots of loss from integration)
gr <- makeGrowthObj(dff,Formula=incr ~size )
gr1 <- convertGrowthObjIncrTruncObj(gr)
Pmatrix <- createIPMPmatrix(nBigMatrix = 30, minSize = min(dff$size, na.rm = TRUE),
maxSize = max(dff$size, na.rm = TRUE), growObj = gr1,
survObj = makeSurvObj(dff), integrateType = "midpoint")
diagnosticsPmatrix(Pmatrix, growObj = gr1, survObj = makeSurvObj(dff), dff = dff)
#with log increment
Pmatrix <- createIPMPmatrix(nBigMatrix = 50, minSize = min(dff$size, na.rm = TRUE),
maxSize = max(dff$size, na.rm = TRUE), growObj = makeGrowthObj(dff,Formula = logincr~size),
survObj = makeSurvObj(dff))
diagnosticsPmatrix(Pmatrix, growObj = makeGrowthObj(dff,Formula = logincr~size),
survObj = makeSurvObj(dff), dff = dff)
#example with correction="discretizeExtremes"
Pmatrix <- createIPMPmatrix(minSize = min(dff$size, na.rm = TRUE),
maxSize = max(dff$size, na.rm = TRUE), growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff), correction="discretizeExtremes")
diagnosticsPmatrix(Pmatrix, growObj = makeGrowthObj(dff),
survObj = makeSurvObj(dff), dff = dff, correction="discretizeExtremes")
Run the code above in your browser using DataLab