knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
In case you want to reconstruct several patterns at once (e.g. for different points in time if repeated censuses are available), you can use the following code.
Please note that the maximum number of iterations has been set to
max_runs = 1000
andn_random = 3
to keep computational time low for this example. For real-world applications, it is advisable to raise these values. Additionally, we setverbose = FALSE
in the vignette to minimize printed output. We recommend using the default settingverbose = TRUE
when executing the code to view progress reports.
library(shar) library(spatstat) library(terra)
In case you want to only create the spatial characteristics, this is straightforward using lapply()
.
# create list with patterns list_pattern <- list(species_a, species_b) # reconstruct all patterns in list result <- lapply(list_pattern, function(x) reconstruct_pattern(pattern = x, n_random = 3, max_runs = 1000, verbose = FALSE))
The result will be a nested list including all m randomization (including the observed pattern) of the n provided input patterns.
# get mean energy lapply(result, function(x) calculate_energy(pattern = x, verbose = FALSE))
Another possible would be to first reconstruct n times the spatial characteristics and afterwards reconstruct the marks m times for each of the n spatial reconstructions.
Firstly, reconstruct only the spatial characteristics n times. The observed pattern is not needed in this case, so you can put return_input = FALSE
.
# reconstruct spatial strucutre reconstructed_pattern <- reconstruct_pattern(species_a, n_random = 3, max_runs = 1000, return_input = FALSE, verbose = FALSE)
Secondly, to reconstruct the (numeric) marks of the observed pattern for each of the spatially reconstructed patterns, just use lapply()
in combination with reconstruct_pattern_marks()
.
# get only selected marks of input (numeric marks) species_a_marks <- subset(species_a, select = dbh) # reconstruct marks 3 times for each input pattern result_marks <- lapply(reconstructed_pattern$randomized, function(x) reconstruct_pattern_marks(pattern = x, marked_pattern = species_a_marks, max_runs = 1000, n_random = 3, verbose = FALSE))
Again, the result is a nested list with the same dimensions as provided input patterns and reconstructions.
# get energy lapply(result_marks, function(x) calculate_energy(pattern = x, verbose = FALSE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.