LEFKO3 NEWS ----------- CHANGES IN VERSION 5.3.0 (2022-06-24) ------------------------------------- NEW FEATURES 1. Function actualstage3() now also outputs proportions of ages and age- stages within hfv datasets. 2. Function vrm_import() created to allow IPM and other function-based model slope coefficients can now be imported directly without conducting linear model searches through modelsearch(). 3. Functions flefko3(), flefko2(), aflefko2(), fleslie(), and f_projection3() have been updated to allow the use of vrm_input objects, allowing slope coefficients to be imported directly. 4. Function hfv_qc() developed to test hfv datasets for quality control using the same parameterizations and subsetting strategies used in function modelsearch(). USER-VISIBLE CHANGES 1. Function create_pm() can now yield paramnames objects with default model variable names used instead of "none" strings. 2. Vignettes updated with new functions. Particularly, material for sf_distrib() replaced with material for hfv_qc(). 3. Tweaks and corrections to help files. BUG FIXES 1. Fixed bug causing substochasticity setting 2 in functions projection3() and f_projection3() to yield negative survival probabilities under some circumstances in which survival column sums totaled more than 1.0. 2. Fix bug omitting substochasticity correction in fecundity under some conditions when function f_projection3() is run with substoch = 2. CHANGES IN VERSION 5.2.0 (2022-05-18) ------------------------------------- NEW FEATURES 1. Function f_projection3() can now run density dependent projections in which the vital rates used are modified by projected density. 2. Function density_vr() created to provide vital rate density dependence information for function f_projection3(). 3. Option added to functions projection3() and f_projection3() to suppress warnings. 4. Function summary.lefkoProj() now has an option to interpret NaN values as positive infinity, changing the count of replicates still alive in the milepost section. This option, inf_alive, may also be set to FALSE to count NaNs as evidence of extinction. 5. A new summary_hfv() function has been created to simplify quality control checks on historical vertical format datasets. 6. Function verticalize3() now warns the user to check the resulting dataset if the dataset is censored and the blocksize option is used without the censorRepeat option being set to TRUE, as these cases may result in excessive data pruning. 7. Function summary.lefkoProj() now calculates mean extinction time when prompted. USER-VISIBLE CHANGES 1. Function modelsearch() now allows an "age" setting for the suite option, which yields the same results as "cons" but checks to make sure that an age variable is properly added. 2. Function modelsearch() now allows a "leslie" setting for the vitalrates option, which provides a shorthand for c("surv", "fec") as would be used by fleslie(). 3. The documentation for functions modelsearch() and fleslie() have been updated to provide more information for handling Leslie MPMs. 4. Added series of new error messages if expected data frame size input in verticalize3() is too large. 5. Vignettes have been updated with new functions. 6. Some error messages made more informative. BUG FIXES 1. The stageframe developed with functions rleslie() and fleslie() has been fixed to include stage_id, alive, and almost_born variables, allowing Leslie-formatted lefkoMat objects to be passed to all lefko3 functions analyzing them, including lmean(). 2. Fixed bug yielding vector leaks from other variables when using the blocksize feature in verticalize3(). 3. Fixed incorrect fecundity summation in rlefko3(), resulting from miscounting offspring from individuals dying the transition in which they reproduced. CHANGES IN VERSION 5.1.0 (2022-04-01) ------------------------------------- NEW FEATURES 1. Added ability to run ordered annual matrix progressions in function projection3(). 2. Function projection3() can now run arithmetic mean matrix projections without any modifications required to the input lefkoMat object. 3. Function plot.lefkoProj() now has an auto-title feature. USER-VISIBLE CHANGES 1. Added cancel handling to verticalize3(), historicalize3(), slambda3(), sensitivity3(), elasticity3(), and ltre3(). 2. Added transitions to some supplemental() in function examples and vignettes, reflecting more exact transition specification. BUG FIXES 1. Fixed incorrect substochastic correction in projection3() and f_projection3() when substoch = 2 and negative survival entries occur. 2. Cleaned up minor memory issues in some functions. 3. Corrected class lefkoProj structure output by function f_projection3() to correspond exactly to that produced by function projection3(). 4. Fixed bug preventing proxy multipliers from being properly integrated in function-based and raw MPMs. 5. Corrected issue in which truncated distributions occasionally led to NA size probabilities when the probability of a 0 under the un-truncated distribution was sufficiently high. CHANGES IN VERSION 5.0.1 (2022-03-08) ------------------------------------- USER-VISIBLE CHANGES 1. Updated help files for projection functions. BUG FIXES 1. Updated primitive class checks in some functions. CHANGES IN VERSION 5.0.0 (2022-03-01) ------------------------------------- NEW FEATURES 1. New function arlefko2() created to handle raw age-by-stage MPM estimation. 2. Function aflefko2() now fixes the starting age by whether the life history model is pre-breeding or post-breeding. 3. Functions verticalize3() and historicalize3() now handle age offsets and automatically offset age by 1 if set to prebreeding = TRUE. 4. Further output has been added when err_check = TRUE is set in all function-based matrix estimators. 5. New function f_projection3() runs MPM and IPM projections in which matrices are developed from vital rate models at each step. USER-VISIBLE CHANGES 1. Default final_age in function aflefko2() is now the final age at time t in the original dataset. 2. All function-based matrix estimators have been sped up. 3. Population dynamics functions have been sped up. 4. All population dynamics functions involving actual projection can now be cancelled during runs. 5. Function create_lM() now produces a properly edited stageframe usable with all other functions taking lefkoMat objects as input. BUG FIXES 1. Function plot.lefkoProj() now uses the correct default axis labels when conducting a state-space plot. 2. Function hist_null() now correctly estimates the numbers of survival and fecundity elements. 3. Eliminated bug in functions flefko3(), flefko2(), and aflefko2() preventing incorporation of random year effects into matrix estimation. 4. Eliminated bug causing inflation of lambda under some instances of the Poisson distribution in function-based matrix estimation. 5. Fixed erroneous mixing of QC information in lmean() output. 6. Fixed issue preventing multiple replicates from being displayed in plot.lefkoProj under the timeseries option. 7. Fixed issue causing certain impossible transitions linked to the prior stage to be estimated as non-zero in deVries-format function-based hMPMs. 8. Fixed incorrect formatting of deVries hMPMs resulting from function hist_null(). 9. Function create_pm() updated to handle maturity status models. CHANGES IN VERSION 4.2.0 (2022-01-17) ------------------------------------- NEW FEATURES 1. Functions rleslie() and fleslie() created to estimate raw and function-based Leslie MPMs, respectively. 2. Added a beta term setting K as hard maximum in the logistic function using functions density_input() and projection3(). 3. Accuracy check added to size and fecundity models in modelsearch(). 4. Function modelsearch() new runs exhaustive model selection under the `suite = "cons"` setting if age, density, or any individual covariate is added to the analysis. 5. Function modelsearch() now performs accuracy checks by default, and allows an opt-out. 6. Function actualstage3() now removes stages if wished, including stage NotAlive be default. 7. New plot.lefkoProj() function added. 8. All function-based matrix estimators now incorporate a default method for continuous distributions using cumulative density functions to estimate size transition probabilities. The midpoint rule is now only an option (and not advised). 9. New standalone density dependence functions ricker3(), beverton3(), usher3(), and logistic3() added. 10. Substochasticity options for projection3() now include the option to force fecundity to stay non-negative. 11. Function projection3() now issues warnings if density dependence yields matrix impossible matrix values. 12. Function modelsearch() now also estimates maturity status probability in juveniles. 13. Functions supplemental(), density_input(), and start_input() now also include automated handling of keywords "obs" and "nobs", which specify the use of all observable or unobservable stages, respectively. USER-VISIBLE CHANGES 1. Functions rlefko2() and rlefko3() now provide warnings if individual identity variable name or column number is not provided. 2. Function summary.lefkoMat() now provides appropriate descriptions of data quality control sections with missing values. 3. Added spatial coordinates to cypdata and cypvert. 4. Function modelsearch() is now more flexible with input errors in some key settings. 5. Ended dependence on package stringr. 6. Expanded data frame output with actualstage3() to give individual stage designations in times t and t-1. 7. Function summary.lefkoMat() now yields warnings if any fecundity matrix contains a negative value, and if any matrix contains an NA value. 8. Added equations in key help files. 9. Corrections and updates to all vignettes. 10. Function modelsearch() now tries several more parameterizations if the global model fails. 11. Function lmean() now also incorporates modelqc and dataqc elements for quality control purposes. 12. Function aflefko2() now treats missing minimum ages as zeroes, allowing estimation even when age info is missing from stageframes. BUG FIXES 1. Matrix quality control summaries corrected when functions add_lM(), delete_lM(), and subset_lM() are used. 2. Corrected errors in documentation regatding censoring variables used in rlefko3() and rlefko2(). 3. Corrected issue yielding fatal error in historicalize3() when spatial coordinates are set and reduce = TRUE. 4. Corrected improper matrix formatting in some integer variables used in historicalize3(). 5. Fixed bug ignoring coordsRepeat setting in verticalize3(). 6. Fixed bug causing inconsistent coordinate assignment under unobserved stages in historicalize3(). 7. Corrected bug capable of causing the logistic function to yield negative matrix elements. 8. Fixed improper handling of numeric entries for year and patch options in function modelsearch(). 9. Corrected issue in flefko3(), flefko2(), and aflefko2() affecting the incorporation of zero-inflated Poisson and negative binomial models. 10. Fixed fecundity estimation issue arising in some circumstances with deVries-formatted historical models. 11. Fixed bug leading size of 0 to be treated as zero-inflated in Poisson and negative binomial models. 12. Added tolerance limit to binomial probability estimation in all function-based matrix estimators, to prevent some conditions yielding NA probabilities. 13. Eliminated bug causing rare error in formulae creation in modelsearch(). 14. Eliminated bug causing unrealistic pseudo-R^2 in rare runs of modelsearch(). 15. Eliminated fatal error in modelsearch() occurring under rare instances when all attempts to build a working global model fail. 16. Fixed bug incorrectly importing non-standard variable names into modelsearch(). 17. Fixed error causing density dependent projections under large, historical MPMs in projection3() to issue substochasticity warnings continuously regardless of actual substochasticity violation. CHANGES IN VERSION 4.1.1 (2021-12-07) ------------------------------------- BUG FIXES 1. Fixed C++ runtime error in function hist_null(). CHANGES IN VERSION 4.1.0 (2021-12-06) ------------------------------------- NEW FEATURES 1. Included option to ignore observation status during stage assignment in verticalize3() and historicalize3(). 2. Included option to quiet all warnings in verticalize3() and historicalize3(). 3. New options to prevent display of overdispersion and zero-inflation tests in sf_distrib(). 4. Added hist_null() function to create historically-structured MPM to serve as a null model MPM assuming no individual history. 5. Created function diff_lM() that creates lefkoDiff objects, which are MPM style objects that are actually matrix differences between two lefkoMat objects with equivalent dimensions. 6. Added cond_diff() function to create conditional difference matrices from supplied lefkoDiff objects. 7. Created actualstage3() function to calculate actual stage frequencies and proportions from input hfv dataset. 8. Created create_pm() function to create a skeleton paramnames object for users building vital rate models manually. USER-VISIBLE CHANGES 1. Introduced an integer check in function sf_distrib() that stops tests on non-integer variables. 2. All vignettes have been updated to the latest functions and results. BUG FIXES 1. Fixed incorrect time step calculation in summary.lefkoMat(). 2. Fixed incorrect P values for zero-inflation when fewer than expected 0s found in sf_distrib(). 3. Fixed fatal issue affecting certain kinds of proxy transitions in function-based matrix estimation. 4. Fixed incorrect stage distribution calculation in stochastic stablestage3() and projection3(). 5. Fixed fatal error in summary.lefkoProj() that occurred when summarizing projections with single replicates. 6. Fixed fatal errors in flefko2(), flefko3(), aflefko2(), and summary.lefkoMat() relating to the use of user-defined vital rate functions. 7. Corrected incorrect assignment of stages in flefko3(), flefko2(), and aflefko2() based on use of groups in supplement tables. CHANGES IN VERSION 4.0.1 (2021-11-15) ------------------------------------- BUG FIXES 1. Function aflefko2() now properly removes agestages rows when reduce = TRUE. 2. Problems with mathjaxr integration fixed. CHANGES IN VERSION 4.0.0 (2021-11-14) ------------------------------------- NEW FEATURES 1. Function projection3() can now run density dependent projections using the Ricker, Beverton-Holt, Usher, and logistic functions. 2. Functions start_input() and density_input() have been created to describe starting vectors and density dependence in the simplest format possible. 3. Function modelsearch() now also calculates the accuracy of binomial models and adds the output to the QC section of the output. Function summary.lefkoMod() reports this output. 4. Function sf_create() now handles dual- and triple-size classification 5. Functions sf_create() and supplemental() now handle the designation of core stage groups. 6. Functions verticalize3() and historicalize3() now handle dual- and triple-size metric classification. 7. Function modelsearch() can now test the impacts of three different size variables, and can also develop vital rate models for up to three separate response size variables. 8. Function modelsearch() can now test the impacts of spatial density and stage group. 9. Function modelsearch() now allows individual covariates to be incorporated as random categorical variables, as well as fixed continuous quantitative variables. 10. Function modelsearch() now also allows the Gamma distribution for size and fecundity. 11. Function flefko2() now handles up to three size metrics, stage groups, random categorical variables, and density. 12. Function sf_distrib() now handles up to three size metrics, and also handles fecundity estimation in both times t and t+1. 13. Function projection3() now allows two forms of enforced substochasticity. The first keeps all survival-transition probabilities within bounds, while the second keeps all stage survival probabilities within bounds. USER-VISIBLE CHANGES 1. Function projection3() now creates easier-to-understand output structures clearly dividing numbers of individuals from stage distributions from reproductive values and population sizes. 2. Function supplemental() now takes proxy multipliers, and gives errors for negative given rates and multipliers. 3. Corrected some figure dimensions in vignettes. 4. Corrected help text for some functions. 5. Functions sf_distrib(), summary.lefkoMat(), summary.lefkoCondMat(), summary.lefkoMod(), and image3() no longer return a NULL to the console. 6. The default for option censorRepeat in function verticalize3() has been changed to FALSE, in order to prevent overzealous censoring by default. 7. Text output from summary functions and sf_distrib() has been altered to fit within standard output consoles, including typical page widths. 8. Added sparse matrix override to slambda3() in case of errors incurred in eigen analysis. BUG FIXES 1. Corrected bug causing code "npr" to yield propagule stages in time t+1 in supplement and overwrite tables. 2. Fixed issue preventing estimation of size transition into observable classes with size 0 under the Poisson distribution in flefko3() and flefko2(). 3. Corrected porous stage assignment handling in historicalize3(). 4. Eliminated incorrect projection set assignment when running multiple patches or populations through function projection3(). 5. Eliminated bug giving warnings when running rlefko2() and rlefko3() with specific choices of patches or populations given as input options. 6. Fixed issue causing rlefko2() and rlefko3() to estimate only some transition-survival probabilities and fecundities when patchcol or popcol is given without any respective specific patch or pop options given. CHANGES IN VERSION 3.8.0 (2021-09-08) ------------------------------------- NEW FEATURES 1. Function projection3() now includes the ability to produce replicate simulations. 2. Function summary.lefkoProj() created to summarize the results of population projection using function projection3(). 3. Functions verticalize3() and historicalize3() now handle true radial density estimation, if X and Y coordinates and a valid spacing threshold are supplied. 4. Functions add_lM() and delete_lM() added to add and delete matrices from lefkoMat objects. 5. Function subset_lM() added to create new lefkoMat objects as subsets of other lefkoMat objects. USER-VISIBLE CHANGES 1. Sensitivity and elasticity descriptions corrected in vignettes. 2. Increased consistency in terminology used in output for stablestage3() and repvalue3(). 3. Function create_lM() now handles age-by-stage matrices. BUG FIXES 1. Fixed issue that could lead rlefko2() and rlefko3() to stop processing matrices if specific years or patches are called. 2. Fixed issue affecting stochastic reproductive value estimation in historical lefkoMat objects. 3. Fixed issue affecting some deterministic reproductive value estimates, particularly in large historical MPMs, where a base reference value for standardization cannot be determined. 4. Fixed issue preventing proper handling of historical matrix inputs in create_lM(). CHANGES IN VERSION 3.7.0 (2021-08-18) ------------------------------------- NEW FEATURES 1. Function ltre3() developed to conduct deterministic and stochastic life table response experiments. 2. Function create_lM() developed to allow the incorporation of lists of matrices developed outside of package lefko3. 3. Function summary.lefkoLTRE() developed to quickly summarize LTRE contributions according to transition type. 4. Added new vignette to showcase LTRE and sLTRE analysis, and the import of matrices as lefkoMat objects. USER-VISIBLE CHANGES 1. Altered some terminology in help files and vignettes to reflect most recent best practice in population ecology. Updated vignettes with new information, particularly related to LTRE and sLTRE analysis. 2. Option append_mats has been added to sensitivity3.lefkoMat(), sensitivity3.list(), elasticity3.lefkoMat(), and elasticity3.list(). This option allows users to prevent the incorporation of the original matrices into output lefkoSens and lefkoElas objects, resulting in lower memory usage. 3. Function summary.lefkoElas() can now handle age-by-stage MPMs. 4. Corrected problematic Cypripedium examples involving the construction of matrices with stage survival probabilities rising above 1.0. BUG FIXES 1. Fixed indexing bug in function summary.lefkoElas() that had led to incorrect elasticity summation. 2. Fixed memory leak affecting sparse matrices in projection3() and related functions. CHANGES IN VERSION 3.6.0 (2021-07-21) ------------------------------------- NEW FEATURES 1. Automatic sparse matrix detection and override options have been added to all population dynamics functions. USER-VISIBLE CHANGES 1. All population dynamics analysis functions have been substantially sped up through better memory management techniques. CHANGES IN VERSION 3.5.3 (2021-07-14) ------------------------------------- NEW FEATURES 1. Function summary.lefkoMat() now also displays column sums from all U (survival-transition) matrices as a quality control check. USER-VISIBLE CHANGES 1. Package glmmTMB has been reintegrated, allowing mixed modeling of negative binomial, zero-inflated, and zero-truncated response distributions again. 2. Error and warning messages from compiled functions provide cleaner messages. BUG FIXES 1. Corrected incorrect handling of missing patch terms in lm, glm, vglm, and zeroinfl objects. 2. Corrected static_cast issue that might prevent package installation in Solaris systems. CHANGES IN VERSION 3.5.2 (2021-07-12) ------------------------------------- USER-VISIBLE CHANGES 1. Negative binomial response, zero-truncated, and zero-inflated have been temporarily disabled in function modelsearch() while package glmmTMB() is being reprogrammed for compatibility with R 4.1.0. These distributions are still available through the glm approach. 2. Examples have been updated for clarity and consistency. CHANGES IN VERSION 3.5.1 (2021-07-07) ------------------------------------- NEW FEATURES 1. Function supplemental() now allows entry stage proxies to be marked for raw historical MPMs. 2. Shortcuts included covering non-propagule stages and non-reproductive mature stages for functions overwrite() and supplemental(). USER-VISIBLE CHANGES 1. Updated Lathyrus vignettes to correct improper handling of entry stages. 2. Negative binomial response in mixed modeling has been moved to package lme4, and zero-truncated and zero-inflated distributions are available only through the glm approach in modelsearch() for the time being. BUG FIXES 1. Corrected improper handling of prior forms of entry stages in raw historical MPMs. CHANGES IN VERSION 3.5.0 (2021-06-29) ------------------------------------- NEW FEATURES 1. Historical MPM estimating functions can now estimate hMPMs in deVries format, in which newborns have an unique prior stage. All population dynamics functions have also been reworked to handle this format. 2. New output has been added showing the exact order of age-stage combinations across all rows in estimated age-by-stage MPMs, as output from function aflefko2(). 3. Stochastic sensitivities of historical MPMs now yield ahistorical equivalents in all output. 4. Added manual designation of ahistorical vs. historical output in functions sensitivity3.list() and elasticity3.list(). USER-VISIBLE CHANGES 1. Function modelsearch() can now handle invariant response terms. 2. Functions flefko3() and flefko2() can now handle invariant fecundity. 3. Function verticalize3() can now handle horizontal datasets without clear patterns in order. 4. Amended overwrite() and supplemental() functions to account for possible prior newborn stage in deVries formatted hMPMs. 5. Function supplemental() now details stage names not accounted for in the input stageframe in error messages. 6. Some error and warning messages have been clarified for better understanding. 7. Many examples have been expanded to include extra conditions. BUG FIXES 1. Function rlefko3() now handles dimension reduction properly. 2. Function cond_hmpm() now produces conditional matrices from all combinations of population, subpopulation, and year, and also properly labels them. 3. Typos and other issues corrected in vignettes. CHANGES IN VERSION 3.4.0 (2021-03-31) ------------------------------------- NEW FEATURES 1. Zero-truncated Poisson and negative binomial distributions have been added to function modelsearch(), and as underlying size and fecundity distributions in flefko3(), flefko2(), and aflefko2(). 2. New function image3() created to easily create matrix images for lefkoMat and other objects. Function acts as a wrapper for the image() function in package SparseM. 3. New vignette showcasing the estimation and analysis of age x stage MPMs. USER-VISIBLE CHANGES 1. Added err_check option to function-based matrix estimators, allowing the output of vital rates used in the estimation of U matrices. 2. The test used to assess overdispersion in size and fecundity has been changed to deal more accurately with count-based variance (including tests performed and how data are subsetted), and to offer more choices in which tests to run. 3. Function modelsearch() has been rewritten to result in a smaller installed package size. 4. Function parasearch() has been removed pending revision of modeling methodology. 5. Reproductive value vectors are now all standardized to the first non-zero value in the vector. 6. Function sf_create() can now handle stage comments as input. 7. Functions sensitivity3() and elasticity3() have been redesigned for increased speed with unusually large matrices. 8. Stochastic analysis functions have been streamlined for speed and efficiency. 9. Expanded all examples to include both Lathyrus and Cypripedium versions. 10. Corrections and expansions to package vignettes. BUG FIXES 1. Fixed issue in which loss of one of the year or patch terms in modeling of zero-inflated mixed models could lead to errors in function-based matrix estimation. 2. Corrected error in estimation algorithm for size transition probability under negative binomial distribution, and difficulty in handling low levels of overdispersion in some negative binomial models. 3. Fixed issue making lmean() unable to take element-wise mean matrices of age x stage MPMs produced using aflefko2(). 4. Fixed bug yielding erroneous reproductive values in historical matrices. 5. Fixed bug yielding erroneous sensitivity elements in historically- corrected ahistorical sensitivity matrices. 6. Fixed bug occasionally yielding 3d arrays in response to stochastic calls of sensitivity3() and elasticity3(). 7. Corrected stablestage3() and repvalue3() to properly handle age x stage MPMs. 8. Corrected memory leak issue in aflefko2(). CHANGES IN VERSION 3.3.2 (2021-02-25) ------------------------------------- BUG FIXES 1. Fixed Imports field related to function parasearch(). 2. Fixed loss of fecundity placement in age-by-stage matrices when using function supplemental() with function aflefko2(). 3. Fixed default year and patch settings in aflefko2(). 4. Corrected memory allocation issue in historicalize3(). CHANGES IN VERSION 3.3.1 (2021-02-23) ------------------------------------- USER-VISIBLE CHANGES 1. Corrections to vignettes. 2. Help file typos fixed. CHANGES IN VERSION 3.3.0 (2021-02-21) ------------------------------------- NEW FEATURES 1. Function supplemental() created to allow greater flexibility in the input of reproductive multipliers. All matrix creation functions can now handle its output. 2. Stochastic sensitivity and elasticity analyses now enabled through functions sensitivity3() and elasticity3(), respectively. 3. Functions sensitivity3() and elasticity3() now handle simple lists of A matrices, in addition to lefkoMat objects and simple matrices. 4. Function parasearch() created to allow parallelized model building and selection. USER-VISIBLE CHANGES 1. Censoring options in verticalize3() and historicalize3() can now handle both static and temporally-variable censor variables. 2. Overwrite and supplemental tables can now include "prop", "immat", and "mat" as shorthand for suites of all propagule, immature, and mature stages. 3. Function modelsearch() now gives warning if a dataset is used with NAs in individual ID when a mixed modeling approach is requested. It now also provides standard diagnostic messages at each step. 4. Corrections and additions to help files. BUG FIXES 1. Fixed censoring protocols in verticalize3(), historicalize3() rlefko3(), and rlefko2(). 2. Corrected distribtution algorithm for zero inflation and text output in sf_distrib(). 3. Eliminated bug causing high overdispersion parameters from negative binomial-based size models to yield function-based matrices with NA values for all transitions to stages with positive size. 4. Fixed issue in which mixed models with a non-zero-inflated negative binomial distribution fails to estimate function-based martrices. 5. Fixed compatibility issues in matrix creation functions with R 3.6.3. 6. Fixed minor issue in summary.lefkoMat output text. CHANGES IN VERSION 3.2.0 (2021-01-03) ------------------------------------- NEW FEATURES 1. Function cond_hmpm() added to create conditional hMPMs. 2. Function slambda3() added to estimate the log stochastic growth rate. 3. Function summary.lefkoElas() added to summarize elasticities by kind of transition. 4. Added citation() data for package. 5. Added NEWS section, using package lme4 NEWS as a template. USER-VISIBLE CHANGES 1. Corrected inconsistent stage name variable in stage frame creation and manipulation functions. 2. Updated and reorganized vignettes. 3. Modified stageframes exported by matrix creation functions now include entry status variable. 4. Objects of class lefkoElas now include the original A, U, and F matrices. 5. Elasticity and sensitivity outputs for lefkoMat objects now include the original A, U, and F matrices used as input. BUG FIXES 1. Matrix estimation function now create loy tables treating pop and patch as strings by default, eliminating possible conversion errors. 2. Corrected incorrect overwrite() call in lathyrus example used in function flefko3() and all population dynamics analysis functions. CHANGES IN VERSION 3.1.2 (2020-11-16) ------------------------------------- BUG FIXES 1. Corrected auto-conversion of characters to factors occurring on R 3.6.3, which affected the creation and interpretation of the $labels element in matrix estimation. CHANGES IN VERSION 3.1.1 (2020-11-13) ------------------------------------- BUG FIXES 1. Fixed bug in lmean() function resulting from an implicit cast and affecting users operating lefko3 on Solaris systems. CHANGES IN VERSION 3.1.0 (2020-11-08) ------------------------------------- NEW FEATURES 1. Added function sfdistrib() to test whether mean = var and the level of zero-inflation in count variable data to be used for size and fecundity. 2. Added zero-inflated Poisson and negative binomial distributions as choices for the underlying distribution of size and fecundity. 3. Added individual and environmental covariates to function-based MPM estimation functions. USER-VISIBLE CHANGES 1. Corrected, updated, and reorganized vignettes. BUG FIXES 1. Corrected parameterization of negative binomial distribution in function modelsarch(). CHANGES IN VERSION 3.0.0 (2020-10-22) ------------------------------------- NEW FEATURES 1. Added function aflefko2() function to estimate age x stage MPMs. 2. Added function sensitivity3() to estimate sensitivity matrices of historical and ahistorical MPMs. 3. Added Function elasticity3() to estimate elasticity matrices of historical and ahistorical MPMs. USER-VISIBLE CHANGES 1. Increased consistency of output variable names across functions. 2. Corrected, updated, and reorganized vignettes. 3. Eliminated faulty parameterization of matrix geometric mean in lmean() function. BUG FIXES 1. Corrected core kernel underlying lmean(), and redeveloped in C++ to yield faster results. 2. Corrected parameterization of negative binomial distribution. 3. Function summary.lefkoMat() now shows which vital rate models were not estimated. CHANGES IN VERSION 2.4.2 (2020-09-12) ------------------------------------- USER-VISIBLE CHANGES 1. All matrix estimators sped up through lapply()-based calls to C++ kernels. 2. Function lmean() now keeps the original names of populations and patches. 3. Corrected incorrect reference links in vignettes. BUG FIXES 1. Fixed memory leak in kernel behind function historicalize3(). 2. Fixed faulty indexing affecting all matrix estimators under certain conditions. 3. Bugs in Cypripedium candidum vignettes and examples caused by incomplete overwrite tables fixed. CHANGES IN VERSION 2.3.0 (2020-08-18) ------------------------------------- USER-VISIBLE CHANGES 1. Major speed up to flefko2() and flefko3() through the incorporation of C++ core kernels. BUG FIXES 1. Bug fixed that could lead to the erroneous incorporation of mature stages as immature in flefko3() under certain rare circumstances. 2. Bug fixed that could fit proxy rates into the wrong elements in all matrix construction under certain rare circumstances. 3. Bug fixed that could, under some circumstances, lead to individuals being treated as dead when not observed for a period of more than a year. CHANGES IN VERSION 2.2.2 (2020-07-28) ------------------------------------- USER-VISIBLE CHANGES 1. Revised vignettes. 2. Improved default handling of reproductive ratio and fecundity ratio. BUG FIXES 1. Fixed calculation of observed lifespan in functions verticalize3() and historicalize3(). CHANGES IN VERSION 2.2.1 (2020-07-18) ------------------------------------- USER-VISIBLE CHANGES 1. Removed some vignettes to reduce size. 2. Added greater detail to Metadata in DESCRIPTION file BUG FIXES 1. Added on.exit() to modelsearch() to keep user options through that routine. 2. Fixed bugs in repvalue3.lefkoMat() and repvalue3.matrix(). CHANGES IN VERSION 2.2.0 (2020-07-08) ------------------------------------- USER-VISIBLE CHANGES 1. All internal function documentation now complete. 2. Reduced vignette sizes. BUG FIXES 1. Fixed bugs in summary.lefkoMod(). CHANGES IN VERSION 2.1.0 (2020-07-06) ------------------------------------- NEW FEATURES 1. Advanced routines developed for deterministic analysis functions, including repvalue3() and stablestage3(). USER-VISIBLE CHANGES 1. Cleaned up all help pages. BUG FIXES 1. Scattered bugs eliminated. CHANGES IN VERSION 2.0.0 (2020-06-27) ------------------------------------- NEW FEATURES 1. Stageframe objects now have their own class, and stageframes now handle log-size based bin widths. 2. Sf_create() also now stops if vector lengths are not equal, and can create stageframes for IPMs. 3. Mean matrix function lmean() created. 4. Added size in time t to juvenile models. 5. Fecundity models can now use fecundity in t+1 as a response. 6. Integrated estimation function into verticalize3() and historicalize3(). USER-VISIBLE CHANGES 1. All matrix creation functions have been fully rewritten for speed (eliminated extraneous find() calls and long loops). 2. Vignettes split up across chapter files. BUG FIXES 1. Eliminated problems with class interpretation in modelsearch(). CHANGES IN VERSION 1.0.0 (2020-03-24) ------------------------------------- NEW FEATURES 1. Lathyrus dataset added. 2. Examples added to all core functions. USER-VISIBLE CHANGES 1. All matrix estimation functions have been rewritten to include core C++ functions, for speed up and memory efficiency. 2. Added patch functionality to modelsearch(), flefko3(), and flefko2(). BUG FIXES 1. Bugs corrected in probability and rate estimation functions. CHANGES IN VERSION 0.13.1 (2020-02-16) ------------------------------------- USER-VISIBLE CHANGES 1. Reorganized flefko2() around Rcpp functions. BUG FIXES 1. Cleaned up bugs discovered in rlefko3(). CHANGES IN VERSION 0.13.0 (2020-02-14) ------------------------------------- USER-VISIBLE CHANGES 1. Re-developed core functions of rlefko3() with Rcpp and RcppArmadillo. Functions now run lightning quick. CHANGES IN VERSION 0.12.1 (2020-02-11) ------------------------------------- USER-VISIBLE CHANGES 1. Re-developed rlefko3() function per new approach to rlefko2(). CHANGES IN VERSION 0.12.0 (2020-02-05) ------------------------------------- NEW FEATURES 1. Developed rlefko2() function. USER-VISIBLE CHANGES 1. Developed rlefko2() function. 2. Redesigned all matrix functions to handle different populations and patches. 3. Made core matrix creators invisible. 4. Increased standardization of inputs. 5. Eliminated class lefkoMatMulti. CHANGES IN VERSION 0.11.0 (2020-01-31) ------------------------------------- NEW FEATURES 1. Created the hfvdata class for standardized, vertical demographic data frames. 2. Added quality control sections to lefkoMod and lefkoMatMulti objects, including functions that create these objects. 3. Created new summary.lefkoMatMulti function. CHANGES IN VERSION 0.10.2 (2020-01-29) ------------------------------------- NEW FEATURES 1. Added negative binomial functionality to vital rate estimators. USER-VISIBLE CHANGES 1. Massive changes and improvements to tutorials. CHANGES IN VERSION 0.10.1 (2020-01-22) ------------------------------------- NEW FEATURES 1. Added negative binomial functionality to modelsearch(). 2. Added a summary function for class lefkoMod. CHANGES IN VERSION 0.10.0 (2020-01-19) ------------------------------------- NEW FEATURES 1. Added Cypripedium candidum vignette. 2. Data mgmt functions can now prune unused variables from output. USER-VISIBLE CHANGES 1. Replaced all flw and frt entries with repst and fec. CHANGES IN VERSION 0.9.0 (2020-01-15) ------------------------------------- NEW FEATURES 1. Added cypdata. USER-VISIBLE CHANGES 1. Formatted code and help files. CHANGES IN VERSION 0.8.3 (2020-01-11) ------------------------------------- USER-VISIBLE CHANGES 1. Eliminated year effect warnings by option. CHANGES IN VERSION 0.8.2 (2020-01-10) ------------------------------------- NEW FEATURES 1. Added the lefkoMatMulti class. 2. Gave matrix creation functions the ability to create output with lists of A, T, and F matrices for all years requested. CHANGES IN VERSION 0.8.1 (2020-01-10) ------------------------------------- NEW FEATURES 1. Added greater flexibility to modelsearch() function to allow it to estimate binomial models under constant response. USER-VISIBLE CHANGES 1. Synchronized data management function to modelsearch() function. CHANGES IN VERSION 0.8.0 (2020-01-01) ------------------------------------- NEW FEATURES 1. Added modelsearch function to handle model building and selection workflow. CHANGES IN VERSION 0.7.0 (2019-11-22) ------------------------------------- NEW FEATURES 1. All workhorse functions are now generally debugged C++ functions. BUG FIXES 1. Fixed overwriting and estimating portions of matrix creation functions. CHANGES IN VERSION 0.6.1 (2019-11-22) ------------------------------------- BUG FIXES 1. Fixed overwriting portion of matrix design, so that given transitions are properly added to historical matrices. CHANGES IN VERSION 0.6.0 (2019-11-20) ------------------------------------- NEW FEATURES 1. Fully rebuilt flefko3 and flefko2 so that fecundity is now estimated using binaries written in C++. USER-VISIBLE CHANGES 1. Matrix design is reworked to make everything faster. CHANGES IN VERSION 0.5.1 (2019-11-19) ------------------------------------- NEW FEATURES 1. Rebuilt flefko2 to use C++ precompiled probability density functions. CHANGES IN VERSION 0.5.0 (2019-11-18) ------------------------------------- NEW FEATURES 1. Rewrote workhorse portions of survival transition estimators as precompiled binaries in C++. 2. Rewrote historical matrix function (flefko3()) to handle reworked pxy functions. BUG FIXES 1. Corrected issues in help files. CHANGES IN VERSION 0.4.4 (2019-11-11) ------------------------------------- NEW FEATURES 1. Added a patch term to ahv2hv() function. USER-VISIBLE CHANGES 1. Changed plantid variable to individ. CHANGES IN VERSION 0.4.3 (2019-11-08) ------------------------------------- NEW FEATURES 1. Added density3() function. USER-VISIBLE CHANGES 1. Sped up verticalize3() and ahv2hv() functions. BUG FIXES 1. Corrected links throughout. CHANGES IN VERSION 0.4.2 (2019-11-07) ------------------------------------- NEW FEATURES 1. Added ability to handle character column names to verticalize_h(). CHANGES IN VERSION 0.4.1 (2019-11-06) ------------------------------------- BUG FIXES 1. Corrected issues in verticalize_h function. CHANGES IN VERSION 0.4.0 (2019-11-03) ------------------------------------- NEW FEATURES 1. Added RSpectra-based population matrix projection analysis functions. USER-VISIBLE CHANGES 1. Added GPL license. CHANGES IN VERSION 0.3.1 (2019-11-02) ------------------------------------- BUG FIXES 1. Corrected bug leading to infinite mu values in probbin for some models. 2. Corrected the method of using proxy transitions from certain juvenile stages to mature stages in all lefko functions. CHANGES IN VERSION 0.3.0 (2019-11-01) ------------------------------------- USER-VISIBLE CHANGES 1. Increased ability to choose which unobserved stages lead to which vobserved stages. 2. Standardized terms in more functions for cross-compatibility and easier workflow. CHANGES IN VERSION 0.2.1 (2019-10-29) ------------------------------------- NEW FEATURES 1. Added Gaussian probability calculation. 2. Developed sf_create function. 3. First version of rlefko3() created. CHANGES IN VERSION 0.1.1 (2019-10-26) ------------------------------------- NEW FEATURES 1. Matrix creation functions now discriminate size and fecundity on the basis of probability distribution. USER-VISIBLE CHANGES 1. Adds numeric class recognition. 2. Documentation improvements. CHANGES IN VERSION 0.1.0 (2019-10-25) ------------------------------------- NEW FEATURES 1. First development version. Main 2d and 3d matrix functions created.