The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
For this example we’ll use a database of forestry inventories done in the amazon forest, and make a phytosociological analysis of the area.
library(forestmangr)
data(exfm20)
data_ex <- exfm20
data_ex
#> # A tibble: 12,295 × 18
#> cod transect tree common.name scientific.name family dbh canopy.pos light
#> <fct> <fct> <int> <fct> <fct> <fct> <dbl> <fct> <int>
#> 1 CAU_… T01 2 macucu Licania guiane… Chrys… 10.3 S 2
#> 2 CAU_… T01 5 casca seca Licania canesc… Chrys… 14.6 S 2
#> 3 CAU_… T01 6 cajuacu Anacardium spr… Anaca… 78.8 E 1
#> 4 CAU_… T01 7 breu branco Protium panicu… Burse… 14.7 S 2
#> 5 CAU_… T01 9 breu branco Protium panicu… Burse… 10.6 E 3
#> 6 CAU_… T01 10 caramuxi Pouteria hispi… Sapot… 27.1 C 2
#> # ℹ 12,289 more rows
#> # ℹ 9 more variables: dead <lgl>, Hcom <dbl>, Htot <dbl>, date <int>,
#> # utm.east <dbl>, utm.north <dbl>, vol <dbl>, plot.area <int>,
#> # total.area <int>
First we’ll calculate the diversity indexes of the area, with the
species_diversity
function. It just needs the data and
column name for species:
species_diversity(data_ex, "scientific.name")
#> # A tibble: 1 × 5
#> Shannon Simpson EqMaxima Pielou Jentsch
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 3.9 0.95 5.15 0.76 0.01
We can evaluate similarity between plots by the Jaccard index, using
the similarity_matrix
function:
similarity_matrix(data_ex, "scientific.name", "transect", index = "Jaccard")
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
#> [1,] 1.00 0.38 0.44 0.42 0.36 0.29 0.44 0.39 0.37 0.38 0.39 0.34 0.35
#> [2,] 0.38 1.00 0.30 0.36 0.30 0.20 0.49 0.34 0.34 0.30 0.37 0.18 0.35
#> [3,] 0.44 0.30 1.00 0.34 0.33 0.30 0.35 0.36 0.38 0.35 0.37 0.28 0.34
#> [4,] 0.42 0.36 0.34 1.00 0.29 0.28 0.40 0.36 0.40 0.37 0.35 0.26 0.31
#> [5,] 0.36 0.30 0.33 0.29 1.00 0.34 0.33 0.44 0.40 0.39 0.32 0.32 0.31
#> [6,] 0.29 0.20 0.30 0.28 0.34 1.00 0.26 0.44 0.42 0.41 0.33 0.29 0.28
#> [7,] 0.44 0.49 0.35 0.40 0.33 0.26 1.00 0.36 0.34 0.35 0.34 0.30 0.33
#> [8,] 0.39 0.34 0.36 0.36 0.44 0.44 0.36 1.00 0.48 0.34 0.37 0.29 0.32
#> [9,] 0.37 0.34 0.38 0.40 0.40 0.42 0.34 0.48 1.00 0.42 0.43 0.29 0.34
#> [10,] 0.38 0.30 0.35 0.37 0.39 0.41 0.35 0.34 0.42 1.00 0.36 0.26 0.31
#> [11,] 0.39 0.37 0.37 0.35 0.32 0.33 0.34 0.37 0.43 0.36 1.00 0.23 0.33
#> [12,] 0.34 0.18 0.28 0.26 0.32 0.29 0.30 0.29 0.29 0.26 0.23 1.00 0.35
#> [13,] 0.35 0.35 0.34 0.31 0.31 0.28 0.33 0.32 0.34 0.31 0.33 0.35 1.00
#> [14,] 0.32 0.23 0.33 0.31 0.32 0.41 0.24 0.41 0.33 0.32 0.30 0.39 0.35
#> [15,] 0.42 0.31 0.38 0.41 0.35 0.34 0.33 0.36 0.40 0.35 0.42 0.31 0.38
#> [16,] 0.22 0.28 0.31 0.29 0.35 0.34 0.33 0.40 0.30 0.31 0.30 0.26 0.31
#> [17,] 0.24 0.26 0.30 0.22 0.29 0.28 0.28 0.30 0.30 0.29 0.27 0.25 0.28
#> [18,] 0.28 0.25 0.32 0.29 0.29 0.34 0.27 0.36 0.36 0.33 0.25 0.31 0.29
#> [19,] 0.29 0.31 0.26 0.28 0.36 0.29 0.31 0.31 0.33 0.29 0.31 0.29 0.36
#> [20,] 0.26 0.24 0.29 0.29 0.30 0.31 0.23 0.37 0.35 0.26 0.39 0.24 0.38
#> [21,] 0.36 0.33 0.26 0.30 0.31 0.28 0.39 0.38 0.34 0.27 0.42 0.33 0.30
#> [22,] 0.28 0.31 0.27 0.32 0.31 0.32 0.33 0.40 0.38 0.35 0.28 0.29 0.27
#> [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22]
#> [1,] 0.32 0.42 0.22 0.24 0.28 0.29 0.26 0.36 0.28
#> [2,] 0.23 0.31 0.28 0.26 0.25 0.31 0.24 0.33 0.31
#> [3,] 0.33 0.38 0.31 0.30 0.32 0.26 0.29 0.26 0.27
#> [4,] 0.31 0.41 0.29 0.22 0.29 0.28 0.29 0.30 0.32
#> [5,] 0.32 0.35 0.35 0.29 0.29 0.36 0.30 0.31 0.31
#> [6,] 0.41 0.34 0.34 0.28 0.34 0.29 0.31 0.28 0.32
#> [7,] 0.24 0.33 0.33 0.28 0.27 0.31 0.23 0.39 0.33
#> [8,] 0.41 0.36 0.40 0.30 0.36 0.31 0.37 0.38 0.40
#> [9,] 0.33 0.40 0.30 0.30 0.36 0.33 0.35 0.34 0.38
#> [10,] 0.32 0.35 0.31 0.29 0.33 0.29 0.26 0.27 0.35
#> [11,] 0.30 0.42 0.30 0.27 0.25 0.31 0.39 0.42 0.28
#> [12,] 0.39 0.31 0.26 0.25 0.31 0.29 0.24 0.33 0.29
#> [13,] 0.35 0.38 0.31 0.28 0.29 0.36 0.38 0.30 0.27
#> [14,] 1.00 0.40 0.39 0.27 0.37 0.37 0.41 0.40 0.35
#> [15,] 0.40 1.00 0.32 0.32 0.36 0.34 0.40 0.37 0.27
#> [16,] 0.39 0.32 1.00 0.38 0.27 0.28 0.40 0.30 0.36
#> [17,] 0.27 0.32 0.38 1.00 0.30 0.26 0.31 0.26 0.28
#> [18,] 0.37 0.36 0.27 0.30 1.00 0.32 0.33 0.30 0.36
#> [19,] 0.37 0.34 0.28 0.26 0.32 1.00 0.35 0.41 0.34
#> [20,] 0.41 0.40 0.40 0.31 0.33 0.35 1.00 0.33 0.33
#> [21,] 0.40 0.37 0.30 0.26 0.30 0.41 0.33 1.00 0.28
#> [22,] 0.35 0.27 0.36 0.28 0.36 0.34 0.33 0.28 1.00
We can also generate a dendrogram for this analysis:
similarity_matrix(exfm20, "scientific.name", "transect", index = "Jaccard", dendrogram = TRUE, n_groups = 3)
#> $Dendrogram
#> $Dendrogram[[1]]
#>
#>
#> $Matrix
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
#> [1,] 1.00 0.38 0.44 0.42 0.36 0.29 0.44 0.39 0.37 0.38 0.39 0.34 0.35
#> [2,] 0.38 1.00 0.30 0.36 0.30 0.20 0.49 0.34 0.34 0.30 0.37 0.18 0.35
#> [3,] 0.44 0.30 1.00 0.34 0.33 0.30 0.35 0.36 0.38 0.35 0.37 0.28 0.34
#> [4,] 0.42 0.36 0.34 1.00 0.29 0.28 0.40 0.36 0.40 0.37 0.35 0.26 0.31
#> [5,] 0.36 0.30 0.33 0.29 1.00 0.34 0.33 0.44 0.40 0.39 0.32 0.32 0.31
#> [6,] 0.29 0.20 0.30 0.28 0.34 1.00 0.26 0.44 0.42 0.41 0.33 0.29 0.28
#> [7,] 0.44 0.49 0.35 0.40 0.33 0.26 1.00 0.36 0.34 0.35 0.34 0.30 0.33
#> [8,] 0.39 0.34 0.36 0.36 0.44 0.44 0.36 1.00 0.48 0.34 0.37 0.29 0.32
#> [9,] 0.37 0.34 0.38 0.40 0.40 0.42 0.34 0.48 1.00 0.42 0.43 0.29 0.34
#> [10,] 0.38 0.30 0.35 0.37 0.39 0.41 0.35 0.34 0.42 1.00 0.36 0.26 0.31
#> [11,] 0.39 0.37 0.37 0.35 0.32 0.33 0.34 0.37 0.43 0.36 1.00 0.23 0.33
#> [12,] 0.34 0.18 0.28 0.26 0.32 0.29 0.30 0.29 0.29 0.26 0.23 1.00 0.35
#> [13,] 0.35 0.35 0.34 0.31 0.31 0.28 0.33 0.32 0.34 0.31 0.33 0.35 1.00
#> [14,] 0.32 0.23 0.33 0.31 0.32 0.41 0.24 0.41 0.33 0.32 0.30 0.39 0.35
#> [15,] 0.42 0.31 0.38 0.41 0.35 0.34 0.33 0.36 0.40 0.35 0.42 0.31 0.38
#> [16,] 0.22 0.28 0.31 0.29 0.35 0.34 0.33 0.40 0.30 0.31 0.30 0.26 0.31
#> [17,] 0.24 0.26 0.30 0.22 0.29 0.28 0.28 0.30 0.30 0.29 0.27 0.25 0.28
#> [18,] 0.28 0.25 0.32 0.29 0.29 0.34 0.27 0.36 0.36 0.33 0.25 0.31 0.29
#> [19,] 0.29 0.31 0.26 0.28 0.36 0.29 0.31 0.31 0.33 0.29 0.31 0.29 0.36
#> [20,] 0.26 0.24 0.29 0.29 0.30 0.31 0.23 0.37 0.35 0.26 0.39 0.24 0.38
#> [21,] 0.36 0.33 0.26 0.30 0.31 0.28 0.39 0.38 0.34 0.27 0.42 0.33 0.30
#> [22,] 0.28 0.31 0.27 0.32 0.31 0.32 0.33 0.40 0.38 0.35 0.28 0.29 0.27
#> [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22]
#> [1,] 0.32 0.42 0.22 0.24 0.28 0.29 0.26 0.36 0.28
#> [2,] 0.23 0.31 0.28 0.26 0.25 0.31 0.24 0.33 0.31
#> [3,] 0.33 0.38 0.31 0.30 0.32 0.26 0.29 0.26 0.27
#> [4,] 0.31 0.41 0.29 0.22 0.29 0.28 0.29 0.30 0.32
#> [5,] 0.32 0.35 0.35 0.29 0.29 0.36 0.30 0.31 0.31
#> [6,] 0.41 0.34 0.34 0.28 0.34 0.29 0.31 0.28 0.32
#> [7,] 0.24 0.33 0.33 0.28 0.27 0.31 0.23 0.39 0.33
#> [8,] 0.41 0.36 0.40 0.30 0.36 0.31 0.37 0.38 0.40
#> [9,] 0.33 0.40 0.30 0.30 0.36 0.33 0.35 0.34 0.38
#> [10,] 0.32 0.35 0.31 0.29 0.33 0.29 0.26 0.27 0.35
#> [11,] 0.30 0.42 0.30 0.27 0.25 0.31 0.39 0.42 0.28
#> [12,] 0.39 0.31 0.26 0.25 0.31 0.29 0.24 0.33 0.29
#> [13,] 0.35 0.38 0.31 0.28 0.29 0.36 0.38 0.30 0.27
#> [14,] 1.00 0.40 0.39 0.27 0.37 0.37 0.41 0.40 0.35
#> [15,] 0.40 1.00 0.32 0.32 0.36 0.34 0.40 0.37 0.27
#> [16,] 0.39 0.32 1.00 0.38 0.27 0.28 0.40 0.30 0.36
#> [17,] 0.27 0.32 0.38 1.00 0.30 0.26 0.31 0.26 0.28
#> [18,] 0.37 0.36 0.27 0.30 1.00 0.32 0.33 0.30 0.36
#> [19,] 0.37 0.34 0.28 0.26 0.32 1.00 0.35 0.41 0.34
#> [20,] 0.41 0.40 0.40 0.31 0.33 0.35 1.00 0.33 0.33
#> [21,] 0.40 0.37 0.30 0.26 0.30 0.41 0.33 1.00 0.28
#> [22,] 0.35 0.27 0.36 0.28 0.36 0.34 0.33 0.28 1.00
To evaluate the level of aggregation among species in the area, we
can use the species_aggreg
function:
species_aggreg(data_ex, "scientific.name", "transect")
#> # A tibble: 172 × 7
#> especie Payandeh Pay.res Hazen Haz.res Morisita Mor.res
#> <fct> <dbl> <chr> <dbl> <chr> <dbl> <chr>
#> 1 Abarema cochleata 0.9 Regular 18 Not aggregat… 0 Rare
#> 2 Abarema jupunba 0.9 Regular 19 Not aggregat… 0 Rare
#> 3 Abuta grandifolia 16 Aggregated 337. Aggregated 11.9 Aggreg…
#> 4 Aiouea sp. 9.5 Aggregated 200 Aggregated 10.4 Aggreg…
#> 5 Ambelania acida 10 Aggregated 210 Aggregated 22 Aggreg…
#> 6 Anacardium spruceanum 9.3 Aggregated 195. Aggregated 7.7 Aggreg…
#> # ℹ 166 more rows
We can also evaluate the horizontal structure of the forest. To do
this, we can use the forest_structure
function:
forest_structure(data_ex, "scientific.name", "dbh", "transect", 10000)
#> # A tibble: 172 × 9
#> especie AF RF AD DR ADo RDo IVC IVI
#> <fct> <dbl> <dbl> <dbl> <dbl> <dbl[1d]> <dbl[> <dbl> <dbl>
#> 1 Abarema cochleata 18.2 0.392 0.182 0.0343 0.0359 0.137 0.0859 0.188
#> 2 Abarema jupunba 13.6 0.294 0.136 0.0258 0.0302 0.116 0.0707 0.145
#> 3 Abuta grandifolia 9.09 0.196 1.36 0.258 0.0162 0.0621 0.160 0.172
#> 4 Aiouea sp. 9.09 0.196 0.909 0.172 0.0413 0.158 0.165 0.175
#> 5 Ambelania acida 4.55 0.0979 0.454 0.0859 0.00379 0.0145 0.0502 0.0661
#> 6 Anacardium spruceanum 27.3 0.588 1.23 0.232 0.159 0.608 0.420 0.476
#> # ℹ 166 more rows
It’s also possible to calculate the vertical and internal structures:
forest_structure(data_ex, "scientific.name", "dbh", "transect", 10000, "canopy.pos", "light")
#> # A tibble: 172 × 19
#> especie AF RF AD DR ADo RDo IVC IVI VFC VFE
#> <fct> <dbl> <dbl> <dbl> <dbl> <dbl[1> <dbl[> <dbl> <dbl> <dbl> <dbl>
#> 1 Abarema co… 18.2 0.392 0.182 0.0343 0.0359 0.137 0.0859 0.188 51.2 0
#> 2 Abarema ju… 13.6 0.294 0.136 0.0258 0.0302 0.116 0.0707 0.145 25.6 0
#> 3 Abuta gran… 9.09 0.196 1.36 0.258 0.0162 0.0621 0.160 0.172 0 0
#> 4 Aiouea sp. 9.09 0.196 0.909 0.172 0.0413 0.158 0.165 0.175 0 0
#> 5 Ambelania … 4.55 0.0979 0.454 0.0859 0.00379 0.0145 0.0502 0.0661 0 0
#> 6 Anacardium… 27.3 0.588 1.23 0.232 0.159 0.608 0.420 0.476 38.4 13.4
#> # ℹ 166 more rows
#> # ℹ 8 more variables: VFS <dbl>, PSA <dbl>, PSR <dbl>, QF1 <dbl>, QF2 <dbl>,
#> # QF3 <dbl>, QAF <dbl>, QRF <dbl>
To check if the forest is regulated, we can use the BDq method, with
the bdq_meyer
function:
bdq_meyer(data_ex, "transect", "dbh", 1000,licourt_index = 2)
#> Class_Center NumIndv IndvHectare Meyer q MeyerBalan
#> 1 12.5 4730 2150.0 564 1.8 5101
#> 2 17.5 2700 1227.3 434 1.5 2550
#> 3 22.5 1840 836.4 335 2.0 1275
#> 4 27.5 930 422.7 258 1.4 638
#> 5 32.5 670 304.5 199 1.8 319
#> 6 37.5 369 167.7 153 1.3 159
#> 7 42.5 291 132.3 118 1.4 80
#> 8 47.5 208 94.5 91 1.2 40
#> 9 52.5 180 81.8 70 1.6 20
#> 10 57.5 116 52.7 54 1.9 10
#> 11 62.5 60 27.3 42 1.2 5
#> 12 67.5 49 22.3 32 1.2 2
#> 13 72.5 40 18.2 25 1.9 1
#> 14 77.5 21 9.5 19 0.7 1
#> 15 82.5 29 13.2 15 1.5 0
#> 16 87.5 20 9.1 11 1.5 0
#> 17 92.5 13 5.9 9 1.6 0
#> 18 97.5 8 3.6 7 2.6 0
#> 19 102.5 3 1.4 5 0.8 0
#> 20 107.5 4 1.8 4 1.3 0
#> 21 112.5 3 1.4 3 2.8 0
#> 22 117.5 1 0.5 2 0.4 0
#> 23 122.5 3 1.4 2 2.8 0
#> 24 127.5 1 0.5 1 1.0 0
#> 25 142.5 1 0.5 1 1.0 0
#> 26 147.5 1 0.5 0 0.6 0
#> 27 152.5 2 0.9 0 1.8 0
#> 28 162.5 1 0.5 0 1.0 0
#> 29 202.5 1 0.5 0 NA 0
With the diameter_class
function it’s possible to divide
the data in diameter classes, and get the number of individuals per
species in each class:
classified <- diameter_class(data_ex,"dbh", "transect", 10000, 10, 10, "scientific.name")
head(classified)
#> scientific.name CC NumIndv IndvHA G G_ha RD
#> 1 Abuta grandifolia 15 30 1.4 0.35676712 0.016216687 100.0000
#> 2 Aiouea sp. 15 10 0.5 0.09331316 0.004241507 50.0000
#> 3 Ambelania acida 15 10 0.5 0.08332289 0.003787404 100.0000
#> 4 Anacardium spruceanum 15 10 0.5 0.27171635 0.012350743 37.0370
#> 5 Aniba canelilla 15 10 0.5 0.08332289 0.003787404 90.9091
#> 6 Aniba parviflora 15 10 0.5 0.10568318 0.004803781 100.0000
Another way of visualizing this table is to spread the center of
class to columns. We can do this with the cc_to_column
argument:
classified <- diameter_class(data_ex,"dbh", "transect", 10000, 10, 10,
"scientific.name", cc_to_column=TRUE)
head(classified)
#> scientific.name 15 25 35 45 55 65 75 85 95 105 115 125 145 155
#> 1 Abarema cochleata 0.1 0.1
#> 2 Abarema jupunba 0.1
#> 3 Abuta grandifolia 1.4
#> 4 Aiouea sp. 0.5 0.5
#> 5 Ambelania acida 0.5
#> 6 Anacardium spruceanum 0.5 0.5 0.1 0.1
#> 165 205 Total
#> 1 0.2
#> 2 0.1
#> 3 1.4
#> 4 1
#> 5 0.5
#> 6 1.2
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.