knitr::opts_chunk$set(collapse = T, comment = "#>") knitr::opts_chunk$set(fig.width=7, fig.height=5) options(tibble.print_min = 6L, tibble.print_max = 6L) library(forestmangr)

Let's calculate the section volume of felled trees using Smalian's method, according to the formula: $$ V_{secao} = \frac{AS_{i} + AS_{i+1}}{2} . L $$

We'll use the exfm7 dataframe as an exemple:

library(forestmangr) data(exfm7) data_ex <- exfm7 data_ex

First we'll calculate the volume with bark of each section with the `smalianwb`

function. In it we input the dataframe, and names for the section diameter with bark, section height and tree variables:

data_ex_sma <- smalianwb(data_ex,"di_wb", "hi","TREE") head(as.data.frame(data_ex_sma))

Now, we'll calculate the volume without bark per secction, using the `smalianwb`

function. We'll input the same variables as before, and the variable name for the bark thickness. In our data, this variable is in millimeters, so, we'll use the `bt_mm_to_cm`

as `TRUE`

to convert it to centimeters:

data_ex_sma <- smalianwob(data_ex_sma,"di_wb","hi","bark_t","TREE",bt_mm_to_cm=T) head(as.data.frame(data_ex_sma))

This can be done directly using pipes (`%>%`

):

data_ex_sma <- data_ex %>% smalianwb("di_wb", "hi", "TREE") %>% smalianwob("di_wb", "hi", "bark_t", "TREE", bt_mm_to_cm=T) head(as.data.frame(data_ex_sma))

We can also visualize the mean curve form of the trees in the area, using Kozak's model with the `average_tree_curve`

function:

avg_tree_curve(df=data_ex_sma,d="di_wb",dbh="DBH",h="hi",th="TH")

To calculate the volume of each tree, we'll use the `vol_summarise`

function. We input the data, and dbhm height, volume with bark, volume without bark and tree variables:

data_ex_vol_arvore <- vol_summarise(data_ex_sma, dbh = "DBH", th = "TH", vwb="VWB",tree = "TREE",vwob="VWOB") data_ex_vol_arvore

Now to determine the most adequate volumetric model for this data, we'll fit two models, and compare them using plots for their residuals with the `resid_plot`

function.

Schumacher's volumetric model:
$$ Ln(V) = \beta_0 + \beta_1*Ln(dbh) + \beta_2*Ln(H) $$

Husch's volumetric model: $$ Ln(V) = \beta_0 + \beta_1*Ln(dbh) $$

We'll use the output "merge_est" from the `lm_table`

function. This will estimate the volume for the observed data automatically. Then, we'll use `resid_plot`

to compare the observed variable with the estimated ones:

data_ex_vol_arvore %>% lm_table(log(VWB) ~ log(DBH) + log(TH),output="merge_est",est.name="Schumacher") %>% lm_table(log(VWB) ~ log(DBH),output="merge_est",est.name="Husch") %>% resid_plot("VWB", "Schumacher", "Husch")

Schumacher's model was more symmetrical, and can be considered the better model for this dataset. To safe it's coefficients in a dataframe, we'll fit the model again, but with the standard output:

tabcoef_vwb <- lm_table(data_ex_vol_arvore, log(VWB) ~ log(DBH) + log(TH) ) tabcoef_vwb

And do the same for the volume without bark:

tabcoef_vwob <- lm_table(data_ex_vol_arvore, log(VWOB) ~ log(DBH) + log(TH) ) tabcoef_vwob

**Any scripts or data that you put into this service are public.**

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.