## ----setup, include = FALSE--------------------------------------------------- library(GCubeR) library(dplyr) library(knitr) library(kableExtra) knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.align = "center", fig.width = 7, fig.height = 5, message = FALSE, warning = FALSE ) gembloux_kable <- function(x, caption = NULL, digits = 3) { # nombre de colonnes du data.frame (à garder avant le pipe) last_col <- ncol(x) pal_dark <- "#004B87" # dark blue pal_light <- "#e8f5e9" # light green pal_accent <- "#2e7d32" # mid green x %>% kable(format = "html", digits = digits, caption = caption) %>% kable_styling( full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed") ) %>% row_spec(0, background = pal_dark, color = "white", bold = TRUE) %>% column_spec(1, background = pal_light, bold = TRUE) %>% column_spec(last_col, background = pal_accent, color = "white", bold = TRUE) } ## ----echo=FALSE, out.width="100%", fig.align="center"------------------------- knitr::include_graphics("img/function_diag.png") ## ----echo=TRUE, message=FALSE, warning=FALSE---------------------------------- # Data creation data <- data.frame( species_code = c("LARIX_SP","LARIX_SP","LARIX_SP","LARIX_SP"), htot = c(12,13,10,11), c130 = c(65,56,52,68) ) # Computes volumes (function from package) data <- rondeux_vc22_vtot(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("QUERCUS_SP","QUERCUS_SP","QUERCUS_SP","QUERCUS_SP"), htot = c(28,35,21,36), c130 = c(180,235,175,238) ) # Adding dbh data <- add_c130_dbh(data) # Computes volumes data <- bouvard_vta(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","ABIES_ALBA","ABIES_ALBA","ABIES_ALBA"), htot = c(28,35,21,36), c130 = c(180,235,175,238) ) # Adding dbh data <- add_c130_dbh(data) # Computes volumes data <- algan_vta_vc22(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_PINASTER","ABIES_ALBA"), htot = c(28,35,21,36), c130 = c(180,235,175,238) ) # Computes volumes data <- vallet_vta(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_SYLVESTRIS","ABIES_ALBA"), htot = c(28,35,21,36), c130 = c(180,235,175,238) ) # Computes volumes data <- dagnelie_vc22_1(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_SYLVESTRIS","ABIES_ALBA"), hdom = c(20,25,18,35), c130 = c(180,235,175,238) ) # Computes volumes data <- dagnelie_vc22_1g(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_SYLVESTRIS","ABIES_ALBA"), htot = c(20,25,18,35), c130 = c(180,235,175,238) ) # Computes volumes data <- dagnelie_vc22_2(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_PINASTER","ABIES_ALBA"), htot = c(28,35,21,36), c130 = c(180,235,175,238) ) # Adding dbh data <- add_c130_dbh(data) # Computes volumes data <- vallet_vc22(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("LARIX_SP","LARIX_SP","LARIX_SP","LARIX_SP"), htot = c(12,13,10,11), c130 = c(65,56,52,68) ) # Computes volumes data <- rondeux_vc22_vtot(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","ABIES_ALBA","ABIES_ALBA","ABIES_ALBA"), htot = c(28,35,21,36), c130 = c(180,235,175,238) ) # Adding dbh data <- add_c130_dbh(data) # Computes volumes data <- algan_vta_vc22(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_SYLVESTRIS","ABIES_ALBA"), htot = c(20,25,18,35), c130 = c(180,235,175,238) ) # Computes volumes data <- dagnelie_vc22_2(data) # Computes biomass data <- biomass_calc(data) ## ----echo=FALSE--------------------------------------------------------------- scroll_box( gembloux_kable(data), width = "100%", height = "200px" ) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_SYLVESTRIS","ABIES_ALBA"), htot = c(20,25,18,35), c130 = c(180,235,175,238) ) # Computes volumes data <- vallet_vta(data) # Computes biomass data <- biomass_calc(data) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----------------------------------------------------------------------------- # Data creation data <- data.frame( species_code = c("ABIES_ALBA","QUERCUS_ROBUR","PINUS_SYLVESTRIS","ABIES_ALBA"), c130 = c(180,235,175,238) ) # Type of path needed (must be replaced by a real path) # filepath <- "file/path/example.csv" ## ----echo=FALSE--------------------------------------------------------------- # For the example (do not run) filepath <- tempfile(fileext = ".csv") ## ----message=FALSE------------------------------------------------------------ # Computes volumes and export csv data <- dagnelie_vc22_1(data, output= filepath) ## ----echo=FALSE--------------------------------------------------------------- gembloux_kable(data) ## ----echo=FALSE--------------------------------------------------------------- set.seed(123) # reproductible n <- 150 # c130 entre 50 et 200 c130 <- runif(n, min = 50, max = 200) # hauteur proportionnelle (ex: htot ≈ 0.25 * c130 + bruit aléatoire) htot <- 0.25 * c130 + rnorm(n, mean = 0, sd = 3) # bornes réalistes (hauteur min 5 m, max 45 m) htot <- pmax(5, pmin(htot, 45)) # quelques espèces possibles species_list <- c( "PINUS_SYLVESTRIS", "PICEA_ABIES", "QUERCUS_ROBUR", "FAGUS_SYLVATICA", "BETULA_SP" ) species_code <- sample(species_list, n, replace = TRUE) # construction df <- data.frame( c130 = round(c130, 1), htot = round(htot, 1), species_code = species_code ) ## ----echo=TRUE---------------------------------------------------------------- # Type of path needed (must be replaced by a real path) # filepath <- "my/file/path.csv" ## ----echo=FALSE--------------------------------------------------------------- # For the example filepath <- tempfile(fileext = ".csv") # Calcul des volumes data <- dagnelie_vc22_1(df) ## ----echo=TRUE, message=FALSE, warning=FALSE, fig.width=6, fig.height=6, fig.align="center"---- # Plot + export CSV res <- plot_by_class(data, volume_col = "dagnelie_vc22_1", output = filepath) # Affichage du plot (important !) res$plot ## ----echo=FALSE--------------------------------------------------------------- # read the exported csv csv_data <- read.csv2(filepath) # display it with gembloux style gembloux_kable(csv_data, caption = "CSV Output Preview")