"Soya cake",
"Sunflowe seed cake",
"Rape seed cake",
"Destilled dried grains from bio-ethanol processing",
"Pulses",
"Bio ethanol")
oil_cake_market <- balance_detailed %>%
filter (Commodities %in% oil_cake_market_list)%>%
mutate(Commodities = ifelse(Commodities!="Destilled dried grains from bio-ethanol processing",Commodities,"DDG"))
other <- balance_detailed %>%
filter (!(Commodities %in% oil_cake_market_list))
return (list(oil_cake_market,other))
}
#' calculates the absolute and percentage changes between baseline and scenario.
#' @param b basline.
#' @param s Scenario.
#' @return a data frame.
#'
#' @export
#'
#'
output_df <- function(b,s){
diff_all <- bind_rows(b, s) %>%
# evaluate following calls for each value in the rowname column
group_by(Commodities) %>%
# add all non-grouping variables
summarise(across(everything(), diff, .names = "diff_{col}"))
# diff_all
percent = data.frame(Commodities = b$Commodities) %>% as_tibble()
for (i in 1:(ncol(s)-1)){
percent <- bind_cols(round(s[i]/b[i] *100-100, 1), percent)
#volumn <- bind_cols(round(sum(oil_cake_market_Scenario[i,1:7]) / sum(oil_cake_market_baseline[i,1:7])*100-100, 1), percent)
}
percent$volume <- NA
for (i in 1:nrow(s)) percent$volume[i] <- (sum(s[i,1:7])/sum(b[i,1:7])*100-100)
all <- full_join(diff_all, percent)
all <- all[, c("Commodities",
"diff_supply", "supply",
"diff_human_cons", "human_cons",
"diff_processing","processing",
"diff_biofuels","biofuels",
"diff_feed","feed",
"diff_imports","imports",
"diff_exports","exports","volume")]
setnames(all, new = c("Commodities",
"Production", "Production%",
"Human_Cons.", "Human_cons%",
"Processing","Processing%",
"Biofuels","Biofuels%",
"Feed","Feed%",
"Imports","Imports%",
"Exports","Exports%",
"Market volume"))
all <- rapply(all, f=function(x) ifelse(is.nan(x),"-",x), how="replace" )
return(all)
}
#'makes Beautiful Tables
#'
#'
#' @param tbl A tbl data frame.
#' @param subtit Subtitle.
#' @return a beautiful table.
#' @export
nicetable <- function(tbl,subtit){
#tbl <- other
if ("Wheat" %in% tbl$Commodities) {
cereals <- tbl %>%
filter( Commodities %in% c("Wheat", "Barley", "Grain maize", "Other cereals")) %>%
add_column(group = "cereals")
meat <- tbl %>%
filter( !(Commodities %in% c("Wheat", "Barley", "Grain maize", "Other cereals"))) %>%
add_column(group = "meat, sugar...")
tbl <- bind_rows(cereals, meat)}else{tbl <- tbl}
nicetb <- tbl %>%
gt(rowname_col = "Commodities", groupname_col = "group") %>%
fmt_number(columns = c(Production, Human_Cons.,Processing,Biofuels,Feed, Imports, Exports,"Market volume"), decimals = 1) %>%
#fmt_number(columns = c("Production%"), decimals = 1) %>%
tab_spanner(label = "Production", columns = matches("Production")) %>%
tab_spanner(label = "Human Cons.", columns = matches("Human_cons")) %>%
tab_spanner(label = "Processing", columns = matches("Processing")) %>%
tab_spanner(label = "Biofuels", columns = matches("Biofuels")) %>%
tab_spanner(label = "Feed", columns = matches("Feed")) %>%
tab_spanner(label = "Imports", columns = matches("Imports")) %>%
tab_spanner(label = "Exports", columns = matches("Exports")) %>%
tab_source_note(md("`-` indicate very small values")) %>%
cols_label(
Production = html("1,000t,<br>abs"),
"Production%" = html("%"),
Human_Cons. = html("1,000t,<br>abs"),
"Human_cons%" = html("%"),
Processing = html("1,000t,<br>abs"),
"Processing%" = html("%"),
Biofuels = html("1,000t,<br>abs"),
"Biofuels%" = html("%"),
Feed = html("1,000t,<br>abs"),
"Feed%" = html("%"),
Imports = html("1,000t,<br>abs"),
"Imports%" = html("%"),
Exports = html("1,000t,<br>abs"),
"Exports%" = html("%"),
"Market volume" = html("<b>Market<br>volume</b>")
)%>%
tab_header(
title = md("Absolute and percentage changes in elements of the market balance for the EU"),
subtitle = md(subtit)) %>%
# tab_source_note(
# source_note = md("GGD:Destilled dried grains from bio-ethanol processing")
# ) %>%
cols_width(Commodities ~ px(150)) %>%
tab_footnote(
locations = cells_column_labels("Market volume"),
footnote = md("Imports + Production")
)
return(nicetb)
}