diff --git a/NAMESPACE b/NAMESPACE index 36daa64..3b19675 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,7 +2,9 @@ export(calculate_co2_descriptive_analysis_per_benchmark) export(calculate_trs_descriptive_analysis_per_tr_benchmark) +export(example_emission_ep_product_des_analysis) export(example_emission_product_co2_des_analysis) +export(example_sector_ep_product_des_analysis) export(example_transition_risk_product_trs_des_analysis) export(show_reduction_targets_for_tilt_subsectors_per_scenario_year) importFrom(dplyr,distinct) diff --git a/R/example_data.R b/R/example_data.R index 083dd59..6daa8bd 100644 --- a/R/example_data.R +++ b/R/example_data.R @@ -10,6 +10,8 @@ #' @examples #' example_emission_product_co2_des_analysis() #' example_transition_risk_product_trs_des_analysis() +#' example_emission_ep_product_des_analysis() +#' example_sector_ep_product_des_analysis() example_emission_product_co2_des_analysis <- function() { tribble( # styler: off @@ -51,3 +53,39 @@ example_transition_risk_product_trs_des_analysis <- function() { # styler: on ) } + +#' @export +#' @rdname example_emission_product_co2_des_analysis +example_emission_ep_product_des_analysis <- function() { + tribble( + # styler: off + ~companies_id, ~ep_product, ~emission_profile, ~profile_ranking, + "comp_1", "a", "high", 1, + "comp_1", "b", "high", 4, + "comp_1", "c", "high", 9, + "comp_1", "d", NA_character_, NA_real_, + "comp_1", "e", NA_character_, NA_real_, + "comp_2", "a", "high", 1, + "comp_2", "b", "high", 2, + "comp_2", "c", "high", 4 + # styler: on + ) +} + +#' @export +#' @rdname example_emission_product_co2_des_analysis +example_sector_ep_product_des_analysis <- function() { + tribble( + # styler: off + ~companies_id, ~ep_product, ~sector_profile, ~reduction_targets, + "comp_1", "a", "high", 1, + "comp_1", "b", "high", 4, + "comp_1", "c", "high", 9, + "comp_1", "d", NA_character_, NA_real_, + "comp_1", "e", NA_character_, NA_real_, + "comp_2", "a", "high", 1, + "comp_2", "b", "high", 2, + "comp_2", "c", "high", 4 + # styler: on + ) +} diff --git a/man/example_emission_product_co2_des_analysis.Rd b/man/example_emission_product_co2_des_analysis.Rd index 2da6f04..f1b7f06 100644 --- a/man/example_emission_product_co2_des_analysis.Rd +++ b/man/example_emission_product_co2_des_analysis.Rd @@ -3,11 +3,17 @@ \name{example_emission_product_co2_des_analysis} \alias{example_emission_product_co2_des_analysis} \alias{example_transition_risk_product_trs_des_analysis} +\alias{example_emission_ep_product_des_analysis} +\alias{example_sector_ep_product_des_analysis} \title{Example raw datasets} \usage{ example_emission_product_co2_des_analysis() example_transition_risk_product_trs_des_analysis() + +example_emission_ep_product_des_analysis() + +example_sector_ep_product_des_analysis() } \value{ A dataframe. @@ -19,5 +25,7 @@ package. \examples{ example_emission_product_co2_des_analysis() example_transition_risk_product_trs_des_analysis() +example_emission_ep_product_des_analysis() +example_sector_ep_product_des_analysis() } \keyword{internal} diff --git a/vignettes/articles/descriptive-analysis-products.Rmd b/vignettes/articles/descriptive-analysis-products.Rmd new file mode 100644 index 0000000..9c12da1 --- /dev/null +++ b/vignettes/articles/descriptive-analysis-products.Rmd @@ -0,0 +1,160 @@ +--- +title: "Descriptive analysis of products" +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +``` + +This article shows how to calculate the descriptive analysis of products for +emission and sector profile. + +```{r setup} +library(dplyr) +library(tiltDataAnalysis) +library(knitr) +options(readr.show_col_types = FALSE) +``` + +### Example subset of product-level output of emissions profile. + +```{r} +emission_product_example <- example_emission_ep_product_des_analysis() +kable(emission_product_example) +``` + +### Example subset of product-level output of sector profile. + +```{r} +sector_product_example <- example_sector_ep_product_des_analysis() +kable(sector_product_example) +``` + +### Distinct products of emission and sector profile + +```{r, results='asis'} +cat("Distinct products of emission profile:", n_distinct(emission_product_example$ep_product)) +cat("Distinct products of sector profile:", n_distinct(sector_product_example$ep_product)) +``` + +### Matched distinct products of emission and sector profile + +```{r} +matched_distinct_products <- function(data, profile) { + result <- data |> + select(all_of(c("ep_product", profile))) |> + distinct() |> + filter(!is.na(.data[[profile]])) + + n_distinct(result$ep_product) +} +``` + +```{r, results='asis'} +cat("Matched distinct products of emission profile:", matched_distinct_products(emission_product_example, "emission_profile")) +cat("Matched distinct products of sector profile:", matched_distinct_products(sector_product_example, "sector_profile")) +``` + +### Average amount of distinct products per company for emission and sector profile + +```{r} +avg_distinct_products_per_company <- function(data) { + result <- data |> + select(all_of(c("companies_id", "ep_product"))) |> + distinct() |> + filter(!is.na(ep_product)) + + n_distinct(result$ep_product) / n_distinct(result$companies_id) +} +``` + +```{r, results='asis'} +cat("Average amount of distinct products per company for emission profile:", avg_distinct_products_per_company(emission_product_example)) +cat("Average amount of distinct products per company for sector profile:", avg_distinct_products_per_company(sector_product_example)) +``` + +### Distinct products without a risk category for emission and sector profile + +```{r} +distinct_products_without_risk_category <- function(data, profile) { + result <- data |> + select(all_of(c("ep_product", profile))) |> + distinct() |> + filter(!is.na(ep_product) & is.na(.data[[profile]])) + + n_distinct(result$ep_product) +} +``` + +```{r, results='asis'} +cat("Distinct products without a risk category for emission profile:", distinct_products_without_risk_category(emission_product_example, "emission_profile")) +cat("Distinct products without a risk category for sector profile:", distinct_products_without_risk_category(sector_product_example, "sector_profile")) +``` + +### Average profile ranking of all products + +```{r, results='asis'} +result <- emission_product_example |> + select(all_of(c("ep_product", "profile_ranking"))) |> + distinct() + +avg_profile_ranking_all_products <- sum(result$profile_ranking, na.rm = TRUE)/ n_distinct(result$ep_product) +cat("Average profile ranking of all products:", avg_profile_ranking_all_products) +``` + +### Average reduction targets of all products + +```{r, results='asis'} +result <- sector_product_example |> + select(all_of(c("ep_product", "reduction_targets"))) |> + distinct() + +avg_reduction_targets_all_products <- sum(result$reduction_targets, na.rm = TRUE)/ n_distinct(result$ep_product) +cat("Average reduction targets of all products:", avg_reduction_targets_all_products) +``` + +### Average transition risk scores of all products + +```{r} +result <- product_transition_risk |> + select(all_of(c("product", "transition_risk_score"))) |> + filter(product %in% c("tent", "camper patios")) |> + distinct() +kable(result) +``` + +```{r, results='asis'} +avg_transition_risk_score_all_products <- sum(result$transition_risk_score, na.rm = TRUE)/ n_distinct(result$product) +cat("Average transition risk scores of all products:", avg_transition_risk_score_all_products) +``` + +### Average NA share per company with atleast one matched product for emission profile + +Companies with atleast one matched product + +```{r} +companies_atleast_one_matched_product <- product_emission |> + select(all_of(c("companies_id", "ep_product", "emission_profile"))) |> + distinct() |> + filter(!is.na(emission_profile)) |> + head(5) +kable(companies_atleast_one_matched_product) +``` + +Average NA share per company which have atleast one matched product + +```{r} +result <- company_transition_risk |> + select(all_of(c("companies_id", "emission_category_NA"))) |> + distinct() |> + filter(companies_id %in% companies_atleast_one_matched_product$companies_id) +kable(result) +``` + +```{r, results='asis'} +average_result <- sum(result$emission_category_NA) / n_distinct(result$companies_id) +cat("Average NA share per company with atleast one matched product for emission profile:", average_result) +```