Abstract
Forest population structure and dynamics represent core research areas in forest ecology, encompassing multiple components such as quantitative analyses of population changes, age structure, life tables, and species dynamics within specific spatial and temporal contexts. These elements provide crucial insights into tree adaptation mechanisms and inform evidence-based strategies for population conservation and management. However, traditional analyses of forest population structure and dynamics face significant challenges due to the absence of specialized analytical software. This limitation not only increases data processing complexity and workload but also elevates the risk of analytical errors. To address these challenges, we developed forestPSD, a novel R package based on established principles of forest population structure and dynamics analysis. This package provides researchers with an efficient and user-friendly tool for analyzing forest population structures and their temporal changes, thereby facilitating advancement in this field.
1. Introduction
The analysis of forest population structure and dynamics is a fundamental research area in forest ecology, with crucial implications for ecosystem functionality and stability [1,2,3]. Through the comprehensive investigation of forest population structures, researchers can elucidate the operational mechanisms and developmental patterns of forest ecosystems [4,5]. Specifically, population structure analysis reveals the spatial distribution patterns of trees across different age classes and size categories, evaluates the optimization of population age structures, and forecasts population trajectories [1,6,7]. These insights provide valuable indicators for assessing ecosystem health status and resilience capacity. The demographic dynamics of forest populations fundamentally shape ecosystem material cycling and energy flows. Long-term monitoring and analysis of forest population changes enable a deeper understanding of key ecological processes, including population growth, mortality, and regeneration, thereby evaluating ecosystem self-regulation capabilities. Such analyses are essential for predicting forest ecosystem responses to environmental changes and informing adaptive management strategies to maintain ecosystem stability. In particular, these analyses provide crucial baseline information for the monitoring and conservation of rare and endangered forest populations [2,8].
Population statistics serve as cornerstone methodologies for investigating demographic dynamics, incorporating critical components such as age structure analysis, life table compilation, survival curve fitting, dynamic index quantification, and time series prediction [1,4,5]. The population age structure reflects current states and developmental trajectories while illuminating population–environment relationships and community roles. Life tables systematically present vital parameters, including survival rates, mortality rates, disappearance rates, and life expectancy, serving as essential tools for characterizing population structure and demographic changes. Dynamic indices and time series predictions derived from life tables not only capture population life processes and survival conditions but also forecast future trajectories and reproductive potential under specific scenarios. The integrated application of these analytical approaches facilitates a comprehensive understanding of population status, ecological characteristics, formation mechanisms, and succession patterns, providing scientific foundations for sustainable population management and community conservation [1,4,5].
In recent years, traditional analyses of forest population structure and dynamics have faced significant challenges due to the absence of specialized analytical software. This limitation not only increases data processing complexity and workload but also elevates the risk of analytical errors. Therefore, developing specialized software tools for analyzing forest population structure and dynamics has become imperative. Such tools can enhance research efficiency, ensure analytical accuracy, promote methodological standardization, and facilitate forest ecology research advancement. In response to these needs, we have developed the forestPSD R package, grounded in theoretical frameworks and methodologies of forest population structure and dynamics analysis, to provide researchers with an efficient and user-friendly analytical tool, thereby advancing this field of study.
2. Materials and Methods
2.1. Age Class Data Acquisition
In general, accurately determining the age of individual trees, especially those with longer growth cycles, presents a substantial challenge. Consequently, in many research endeavors, the strategy of spatial extrapolation of time is frequently adopted. This involves using diameter classes as a substitute for age classes. The rationale behind this approach lies in the positive correlation that exists between the diameter and age of trees during their growth process. By leveraging this relationship, researchers can indirectly estimate the age of trees based on measurements of the diameter at breast height (DBH). This method has been widely employed in numerous similar studies, as evidenced by references [1,4,5,9]. Forest population age structure classifications are generally established based on prevailing forest survey conditions and observed tree growth patterns. Common DBH thresholds used for age class delineation include 2 cm, 4 cm, 5 cm, and 10 cm. For instance, in a survey where tree diameters range from 0 to 58.5 cm and a 5 cm DBH class interval is employed, the first diameter class would be defined as DBH < 5 cm, the second as 5 cm ≤ DBH < 10 cm, the third as 10 cm ≤ DBH < 15 cm, and so on. Trees with DBH ≥ 50 cm would constitute the final (XIth) diameter class. If the number of trees with DBH ≥ 50 cm is relatively small, all diameter classes above a certain threshold (e.g., ≥5 cm) may be combined into the XIth class for the analysis of population structure and dynamics. The specific criteria used for diameter and age class delineation in this study are presented in Table 1. In addition, it is important to emphasize that in the current case, the classification of diameter and age classes is presented solely based on a diameter class interval of 5 cm. Nevertheless, in actual and specific research scenarios, the determination of age class division requires a comprehensive consideration of various factors, including, but not limited to, the characteristics of the research itself, tree species, environmental conditions, and site-specific circumstances.
Table 1.
Classification of diameter and age classes.
2.2. Dynamic Index Quantification
Age class data are adopted to quantitatively describe population dynamics as a proxy for detailed age structure [1,4,5]. The indices that are employed include the following: , the dynamic index of individual number changes between two adjacent age classes; , the dynamic index of overall population size changes without considering external disturbances; and , the dynamic index of overall population size change accounting for potential external disturbances. Furthermore, P, the risk rate of the most significant disturbance factor affecting population survival or development, is incorporated. The impact on population dynamics is maximized when P reaches its maximum value. The specific formulas for these indices are presented below:
The provided formulas utilize Vn to represent the dynamic index of change in individual numbers between adjacent age classes n and n + 1. Vpi denotes the dynamic index of overall population size change in the absence of external disturbances, calculated by weighting the age-class-specific dynamic indices Vn according to the abundance Sn within each age class. Sn and Sn+1 represent the abundances in age classes n and n + 1, respectively. K represents the total number of age classes within the population. The functions max(…) and min(…) denote the maximum and minimum values of the enclosed sequence. The indices Vn, Vpi, and V′pi are constrained to the range [−1, 1]. Positive, negative, and zero values for these indices indicate growth, decline, or stability, respectively, in the dynamic relationship between adjacent age classes or in the overall population age structure for Vpi, and V′pi. When incorporating the potential impact of future external disturbances, the dynamic index of the population age structure, V′pi, is influenced by both the number of age classes (K) and the abundance within each age class (Sn). Specifically, K and Sn exert a “dilution effect” on the impact of future external disturbances. This effect implies that with increasing numbers of age classes and individuals, the influence of any single external disturbance on the overall population structure is potentially mitigated, distributed across a larger pool of individuals and age classes.
2.3. Life Table Compilation
A life table is constructed based on the age-specific mortality rates observed in a population during a specific period. It uses cross-sectional data to provide a snapshot of mortality and survival at a given time, rather than tracking a cohort over its lifespan. The formulas for calculating a static life table are as follows:
where x represents the age class level. The parameter ax denotes the number of individuals currently present within age class x, where a0 represents the initial value. lx indicates the standardized number of surviving individuals in age class x, typically normalized to a base of 1000 to facilitate comparison and interpretation. dx represents the standardized number of deaths occurring between age classes x and x + 1. The mortality rate between age classes x and x + 1 is denoted by qx, which represents the proportion of individuals in age class x who do not survive to reach age class x + 1. Lx indicates the number of individuals who survive and transition from age class x to x + 1. Tx represents the total number of individuals surviving from age class x onwards, measuring the cumulative survival beyond age class x. The life expectancy (ex) indicates the average expected remaining lifespan for individuals who have reached age class x. Finally, Kx represents the population disappearance rate at age class x, while Sx denotes the survival rate of the population at age class x [1,4,5].
2.4. Survival Curve Fitting
In this study, population survival curves were constructed by plotting age classes x against the survival numbers y on the horizontal and vertical axes, respectively. Deevey’s survival curves, proposed by ecologist Edward S. Deevey in 1947, are important tools in ecology for depicting the survival patterns of populations [10]. According to Deevey’s classification, population survival curves can be categorized into three fundamental types (Table 2) [10]. Deevey I (linear) is distinguished by consistent mortality rates across all age classes within the population. Deevey II (convex) is characterized by populations where most individuals survive until reaching their average physiological lifespan, followed by rapid mortality within a relatively brief period. Deevey III (concave) exhibits higher mortality rates among younger individuals, with decreased mortality in adults, resulting in relatively stable population dynamics. To determine which of these three Deevey patterns best describes the population’s survival status, three formulas were employed to analyze the survival curve characteristics [11,12].
Table 2.
Deevey formulas for survival curve fitting.
2.5. Time Series Prediction
This study employed the Simple Moving Average (SMA) method, a time series analysis technique, to simulate and predict the dynamic changes in population age structure [1,4,5]. The mathematical formulations are presented as follows:
where n denotes the prediction time horizon; represents the projected population size of diameter class t after n years; and Xk indicates the number of surviving individuals in the current age class k.
3. Introduction and Applications of the forestPSD Package
3.1. Package Description
The forestPSD package [13] is written in the language R (Version 4.4.2, Vienna, Austria) and can be installed from the Comprehensive R Archive Network “http://cran.r-project.org/web/packages/forestPSD/ (accessed on 18 January 2025)”. This package includes seven powerful functions designed to comprehensively support the analysis of forest population structure and dynamics of quantity, as detailed in Table 3.
Table 3.
Composition of the forestPSD package.
3.2. Working Flowchart
The workflow of the forestPSD package demonstrates both rigor and efficiency (Figure 1). First, the Ntable() function converts raw data into the required format. Next, the dyn() function quantifies dynamic indices. The lifetable() function compiles life tables, while the psdfun() function fits survival curves. Lastly, the Mpre() function focuses on time series forecasting. Additionally, the results from these functions can be presented in various formats, including tables and graphs, which enhances users’ ability to conduct detailed analyses and interpretations.
Figure 1.
Working flowchart of the forestPSD package.
3.3. Working Example
In order to demonstrate the practicality and accuracy of the forestPSD package, this study provides a working example that illustrates the entire process of dynamic analysis of forest population structure and quantity, which can be completed in eight steps, as detailed below:
- Step 1: Install and load the package.
- # Install.packages(“forestPSD”)
- library(forestPSD)
- Step 2: Organize the data into a data format suitable for population structure analysis.
- number=c(8283,5238,1921,1425,926,659,479,228,57,24,10)
- Npop =Ntable(ax=number)
Taking the age class data in Table 1 as an example, we utilize the Ntable() function to organize the data into a data format (Npop, Table 4) that is suitable for population structure analysis. Here, ax represents the number of tree individuals corresponding to each age class as the age class progresses.
Table 4.
A standard data format that is suitable for population structure analysis.
- Step 3: Plot for population structure analysis.
- # Install.packages(“ggplot2”)
- library(ggplot2)
- fpop.p<-ggplot()+geom_bar(aes(x=rank,y=ax,group=ageclass),data=Npop,stat = “identity”)+
- scale_x_continuous(breaks=1:11)+
- scale_x_discrete(limits=Npop$ageclass)+
- xlab(“Age class”)+ylab(“Number of individuals”)
- fpop.p
We employed the ggplot2 package to create the plot for the forest population structure (Figure 2). As the age advances, the number of individuals in this forest population gradually decreases. The age structure of the population presents an inverted “J”-shaped distribution, which clearly demonstrates that the population is a progressive one.
Figure 2.
Plot for forest population structure.
- Step 4: Quantification of population dynamics.
- dyn(ax=Npop$ax)
We calculated the population dynamic index using the dyn() function, and the key results are presented in Table 5. The results demonstrate that the dynamic indices for each age class are all greater than 0, which indicates that the population can adapt effectively to the local environment and maintain relative stability over a certain period. When external disturbances are ignored, the dynamic index for the entire population , suggesting that the population is a growing population. When the influence of external disturbances is considered, , which is close to 0, indicating that the population shows a tendency of transition from a growing population to a stable one.
Table 5.
Dynamic index quantification.
- Step 5: Generate the static life table to analyze the population dynamic changes.
- lifetable(ax=Npop$ax)
We generated the life table by using the lifetable() function, and the key results are presented in Table 6.
Table 6.
Life table compilation.
- Step 6: Regression analysis for survival curves.
- psd_D1<-psdfun(ax=Npop$ax,index=“Deevey1”)
- psd_D1
- psd_D2<-psdfun(ax=Npop$ax,index=“Deevey2”)
- psd_D2
- psd_D3<-psdfun(ax=Npop$ax,index=“Deevey3”)
- psd_D3
The results of fitting the survival curve using the Deevey formulas were obtained by using the psdfun() function. The key results are presented in Table 7. These results suggest that among the three Deevey formulas, Deevey II yields the best fitting effect, with an R2 value reaching 0.987.
Table 7.
Deevey formulas for survival curve fitting.
- Step 7: Plot for regression analysis of survival curves.
- # Install.packages(“ggplot2”)
- library(ggplot2)
- psdnls.p<-ggplot()+geom_bar(aes(x=age,y=ax,group=ageclass),data=psd_D2$Data,stat = “identity”)+
- geom_line(aes(x=age,y=predict),color=“blue”,linewidth=1,data=psd_D2$Data)+geom_text(aes(x=9,y=7700),label=expression(paste(italic(y),”=15040exp(-0.5828”,italic(x),”)”)))+
- geom_text(aes(x=10,y=7300),label=expression(paste(R^2,”=0.987”)))+
- scale_x_continuous(breaks=1:11)+scale_x_discrete(limits=psd_D2$Data$ageclass)+
- xlab(“Age class”)+ylab(“Number of individuals”)
- psdnls.p
We utilized the ggplot2 package to generate a plot for the regression analysis of survival curves (Figure 3). Meanwhile, the reshape2 package was employed to process the data. The results show that the Deevey II formula exhibits a satisfactory fitting effect.
Figure 3.
Plot for regression analysis of survival curves.
- Step 8: Time series prediction for the population dynamic changes.
- Mdata<-Mpre(ax=Npop$ax,n=c(2,3,5,6,8,10))
- # Install.packages(“reshape2”)
- library(reshape2)
- Mdata.melt<-reshape2::melt(Mdata,id=c(“rank”,”ageclass”))
- Mdata.melt$ageclass<-factor(Mdata.melt$ageclass,levels=unique(Mdata.melt$ageclass))
- # Install.packages(“ggplot2”)
- library(ggplot2)Mpre.p<-ggplot()+geom_line(aes(x=ageclass,y=value,color=variable,group=variable),
- linewidth=0.5,data=Mdata.melt)+
- xlab(“Age class”)+ylab(“Number of individuals”)+labs(color=“ “)
- Mpre.p
We predicted the time series by using the Mpre() function and generated a table and a figure for the time series prediction of the population dynamic changes (Table 8 and Figure 4). The results indicate that, in the prediction series, after time intervals corresponding to 2, 3, 5, 6, 8, and 10 age classes in the future, the peaks of the individual numbers in each age class of the population shift backward successively.
Table 8.
Time series prediction of the population dynamic changes.
Figure 4.
Time series prediction of the population dynamic changes.
3.4. Presentation of a Comprehensive Case
In this section, leveraging the data from our prior publication [13], we offer a comprehensive and in-depth demonstration of the research process related to the structure and numerical dynamics of forest populations. The study area was a secondary forest situated in a typical karst region of Guizhou Province, China. This forest has undergone more than 30 years of natural restoration after being abandoned. Through the establishment of representative sample plots and systematic vegetation surveys, we conducted a comparative analysis of the structural and numerical dynamic characteristics of five dominant populations. Our aim was to establish scientific theoretical underpinnings that can serve as reliable references for the protection and restoration of karst secondary forests. In this study, a total of 41 species and 3251 individuals of woody plants were surveyed. Among them, there were 1038 individuals of Betula luminifera (BL, accounting for 31.9%), 793 of Platycarya strobilacea (PS, 24.4%), 344 of Pinus massoniana (PM, 10.6%), 198 of Liquidambar formosana (LF, 6.1%), and 183 of Populus davidiana (PD, 5.6%). These five populations, with a combined total of 2556 individuals, constituted 78.6% of the surveyed plants and were identified as the dominant populations within the community. The age class data of these five dominant populations are presented in Table 9. The detailed criteria for age class division and relevant basic information are comprehensively elaborated in our published article [13]. Moreover, the R codes utilized in this section are available in the Supplementary File.
Table 9.
Age class data of five dominant populations in typical karst secondary forests.
As depicted in Figure 5, the age class structures of the five dominant populations are relatively comprehensive. In general, for each population, the number of individuals exhibits a unimodal pattern, initially rising and subsequently declining as the age class advances. Nevertheless, owing to the relatively scarce number of individuals in age classes I—II of each dominant population and the substantial fluctuations observed in these early age classes, there is an overall deficiency in population renewal. This ultimately leads to suboptimal population stability.
Figure 5.
Age class structure of five dominant populations in typical karst secondary forests.
The dynamic indices show (Table 10) that the numeric dynamics of the five dominant populations all exhibit a trend of first decline and then growth. The overall dynamic indices Vpi and V′pi of the five dominant populations are both greater than zero, indicating that the five dominant populations are generally in a growth trend. The growth potential is ranked as PM > PS > PD > BL > LF. When affected by the external environment, the Pinus massoniana population has the highest probability of being disturbed, while the Betula luminifera population has the lowest. In addition, the insufficient number of individuals in age classes I, II may hinder the stable and sustainable development of the population.
Table 10.
Dynamic index of five dominant populations in typical karst secondary forests.
Through the compilation of static life tables for the five dominant populations (Table 11), it becomes feasible to ascertain the survival status of different populations across various growth stages. This approach allows for a comprehensive understanding of the competitive relationships among populations and a clear elucidation of the disparities in aspects such as resource acquisition and space occupation. Consequently, it offers vital information for the study of niche differentiation within the community and the dynamic development of populations.
Table 11.
Static life tables of five dominant populations in typical karst secondary forests.
The results of fitting the survival curves of the five dominant populations (Table 12) indicate that, among the three Deevey formulas, the Deevey II formula yields the best fitting effect, with a larger R2 value. Evidently, the survival curves of the five dominant populations are all closer to the Deevey II type.
Table 12.
Deevey formulas for survival curve fitting of five dominant populations in typical karst secondary forests.
The time series prediction results indicate (Figure 6) that the five dominant populations exhibit roughly the same trend. Specifically, the population size experiences a sharp decline in the early stage and then a stable increase in the later stage. In the future age classes, the advantage in the number of individuals in each dominant population weakens. Subsequently, as the age class increases, the decline in the number of individuals gradually disappears and then shows an increasing trend. The most significant increase in the number of individuals occurs in the VI age class. After six age classes, the structures of various populations gradually become more reasonable, presenting a stable growth trend.
Figure 6.
Time series prediction of five dominant populations in typical karst secondary forests.
In summary, notable disparities exist in the structure and numerical dynamics of the five dominant populations. Nevertheless, overall, they display a stable growth tendency. The limited number of individuals in the I–II age classes stands out as the primary factor impeding the stable development of the populations. It is advisable to improve the stand quality and the quantity of regeneration through a combination of enclosure protection and artificial tending measures. This integrated approach is expected to foster the stable and sustainable development of the secondary forest community.
3.5. Comparison with Other R Packages Used for Plant Population Structure Analysis
In the realm of plant population structure and numeric dynamics research, various software packages offer distinct forms of support for research endeavors. R packages, including poppr, popbio, ecostats, and TreeSim, each possess unique characteristics and application limitations (Table 13). When compared to other software, forestPSD stands out with remarkable advantages in the research of forest population structure and quantitative dynamics. It can directly and efficiently analyze the structure and numeric dynamics of forest tree populations. The generated visualizations and calculated indices can intuitively and accurately represent the characteristics of forest populations, thereby offering clear directions for research. Leveraging the R language, forestPSD exhibits high expandability and flexibility. This enables researchers to conduct customized development in accordance with the actual requirements of their research, thus catering to a wide range of complex research scenarios. Consequently, it serves as an indispensable tool for forest researchers engaged in relevant studies.
Table 13.
Comparison with other R packages used for plant population structure analysis.
4. Conclusions
In response to the increasing complexity of ecological research, our newly developed forestPSD package presents an innovative and robust approach to studying forest population structure and dynamics. This user-friendly package enables researchers to generate comprehensive ecological analyses through sophisticated built-in algorithms by simply inputting standardized data. It serves as a powerful analytical framework for investigating forest population conservation mechanisms and developing evidence-based management strategies. The forestPSD package demonstrates several notable advantages over conventional methodologies, including enhanced data processing capabilities, streamlined model fitting procedures, and superior visualization functionality. These features facilitate deeper insights into data distribution patterns and temporal trends, thereby improving analytical efficiency and providing reliable empirical evidence for subsequent research and policy decisions. Moreover, our study offers detailed technical guidelines and case analyses, which can help researchers conduct rapid and efficient analyses of forest population structure and numeric dynamics. Moving forward, we are committed to enhancing the forestPSD package through continuous development. Our future improvements will focus on two key aspects: functional expansion and performance optimization. In terms of functionality, we plan to incorporate advanced ecological analysis methods and models to address population dynamics across diverse ecosystems, species characteristics, and research contexts. Regarding performance, we will substantially enhance the package’s computational efficiency and stability through algorithmic optimization and improved data management systems, ensuring robust performance when handling large-scale datasets. Through these systematic improvements, the forestPSD package will evolve into a more comprehensive, precise, and practical analytical tool for forest population research, contributing significantly to the advancement of population ecology.
Supplementary Materials
The following supporting information can be downloaded at https://www.mdpi.com/article/10.3390/f16020303/s1. Code S1: R code for 3.4. Presentation of a comprehensive Case.
Author Contributions
Conceptualization, Z.C.; R package development, Z.C.; writing—original draft, J.L.; writing—review and editing, Z.C. All authors have read and agreed to the published version of this manuscript.
Funding
This research was supported by Guizhou Provincial Basic Research General Program (Natural Science), Grant Number: zk [2025]639, and the National Natural Science Foundation of China, Grant Number: 32001314.
Data Availability Statement
All the data involved in this article were made public in the forestPSD package.
Acknowledgments
We are deeply grateful to the College of Forestry of Guizhou University for supporting this work.
Conflicts of Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
References
- Zhang, Y.; Wang, J.; Wang, X.; Wang, L.; Wang, Y.; Wei, J.; Niu, Z.; Jian, L.; Jin, B.; Chen, C.; et al. Population Structures and Dynamics of Rhododendron Communities with Different Stages of Succession in Northwest Guizhou, China. Plants 2024, 13, 946. [Google Scholar] [CrossRef] [PubMed]
- Farahat, E.A. Age structure and static life tables of the endangered Juniperus phoenicea L. in North Sinai Mountains, Egypt: Implication for conservation. J. Mt. Sci. 2020, 17, 2170–2178. [Google Scholar] [CrossRef]
- Sigasa, M.N.; Yessoufou, K.; Magadlela, A.; Otang-Mbeng, W.; Suinyuy, T.N. Population Structure of an African Cycad: Fire May Stimulate the Coning Phenology of Encephalartos lanatus (Zamiaceae) and Also Predispose Its Cones to Damage. Diversity 2023, 15, 1075. [Google Scholar] [CrossRef]
- Huang, D.; Ren, Y.; Yang, S.; Zhao, Y.; Zhao, G. Population Structure and Dynamic Characteristics of Three Endemic Chinese Abies Species in Southeastern Tibet, China. Front. Ecol. Evol. 2024, 12, 1487984. [Google Scholar] [CrossRef]
- Yuan, G.; Guo, Q.; Xie, N.; Zhang, Y.; Luo, S.; Gui, Q.; Yao, S. Population Dynamics and Protection Strategies of Litsea coreana Levl. var. sinensis with Guizhou Province in China as an Example. J. Mt. Sci. 2023, 20, 1090–1101. [Google Scholar]
- Zabek, M.A.; Berman, D.M.; Blomberg, S.P.; Collins, C.W.; Wright, J. Population Dynamics of Feral Horses (Equus caballus) in an Exotic Coniferous Plantation in Australia. Wildl. Res. 2016, 43, 358–367. [Google Scholar] [CrossRef]
- Watkinson, A.R.; Powell, J.C. The Life History and Population Structure of Cycas armstrongii in Monsoonal Northern Australia. Oecologia 1997, 111, 341–349. [Google Scholar] [CrossRef] [PubMed]
- Li, W.; Zhang, G. Population Structure and Spatial Pattern of the Endemic and Endangered Subtropical Tree Parrotia subaequalis (Hamamelidaceae). Flora 2015, 212, 10–18. [Google Scholar] [CrossRef]
- Kang, D.; Guo, Y.; Ren, C.; Zhao, F.; Feng, Y.; Han, X.; Yang, G. Population Structure and Spatial Pattern of Main Tree Species in Secondary Betula platyphylla Forest in Ziwuling Mountains, China. Sci. Rep. 2014, 4, 6873. [Google Scholar] [CrossRef] [PubMed]
- Deevey, E.S. Life Tables for Natural Populations of Animals. Q. Rev. Biol. 1947, 22, 283–314. [Google Scholar] [CrossRef] [PubMed]
- Peng, C.; Ai, W.; Qi, L.; Tu, J.; Meng, Y.; Yang, M.; Li, M. Cunninghamia lanceolata Sprout Population Structure, Dynamics and Biomass Allocation Changes During Phyllostachys Edulis Expansion in Middleo-Southern China. Trees-Struct. Funct. 2022, 36, 1207–1218. [Google Scholar] [CrossRef]
- Liu, D.; Guo, Z.; Cui, X.; Fan, C. Estimation of the Population Dynamics of Taxus cuspidata by Using a Static Life Table for Its Conservation. Forests 2023, 14, 2194. [Google Scholar] [CrossRef]
- Wei, H.; Xu, M.; Chai, Z.; Sun, C. Population Structure and Numeric Dynamic of Dominant Species of Karst Secondary Forests. J. Northeast For. Univ. 2023, 51, 80–85. [Google Scholar]
- Chai, Z. forestPSD: Forest Population Structure and Numeric Dynamics; R Package Version 1.0.0; R Foundation for Statistical Computing: Vienna, Austria, 2024. [Google Scholar]
- Zhian, N. Poppr: Genetic Analysis of Populations with Mixed Reproduction; R Package Version 2.9.6; R Foundation for Statistical Computing: Vienna, Austria, 2024. [Google Scholar]
- Chris, S.; Brook, M.; Patrick, N. Popbio: Construction and Analysis of Matrix Population Models; R Package Version 2.8; R Foundation for Statistical Computing: Vienna, Austria, 2024. [Google Scholar]
- David, W.; Christopher, C.; Mark, D.; Eve, S. Ecostats: Code and Data Accompanying the Eco-Stats Text (Warton 2022); R Package Version 1.2.1; R Foundation for Statistical Computing: Vienna, Austria, 2024. [Google Scholar]
- Tanja, S. TreeSim: Simulating Phylogenetic Trees; R Package Version 2.4; R Foundation for Statistical Computing: Vienna, Austria, 2024. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).