From 8089efc1536b70593cd0002c18361e84640879db Mon Sep 17 00:00:00 2001 From: spegg Date: Fri, 1 Apr 2022 13:02:40 +0100 Subject: [PATCH] Fixes to weights and improve display readability --- MBA_MESO_Nodes.xlsx | Bin 22647 -> 22690 bytes app.R | 24 ++++++++++++++---------- reWeight.R | 8 ++++---- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/MBA_MESO_Nodes.xlsx b/MBA_MESO_Nodes.xlsx index 5567bc886f27a092e74164c0a3f0d0451afe130d..1346741f8dec234216341f9b985ccaf905e44bb1 100644 GIT binary patch delta 19052 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 diff --git a/app.R b/app.R index d866c99..eac8ce0 100644 --- a/app.R +++ b/app.R @@ -23,8 +23,8 @@ rw <- modules::use("reWeight.R") addResourcePath("js", "./www/js") -layers <- c("Pressures to Functional Groups", "Functional Groups to Output Processes", "Output Processes to Ecosystem services") -transitions <- c("Pressures to Functional Groups", "Pressures to Output Processes", "Pressures to Ecosystem services") +layers <- c("Pressures to Functional Groups", "Functional Groups to Ecosystem Processes", "Ecosystem Processes to Ecosystem services") +transitions <- c("Pressures to Functional Groups", "Pressures to Ecosystem Processes", "Pressures to Ecosystem services") impacts <- c("Very High", ">= High", ">= Medium", ">= Low", "All") thresholds <- c(0.97, 0.9, 0.45, 0.17, 0) impLabels <- c("Very High", "High", "Medium", "Low", "Very Low") @@ -111,7 +111,7 @@ ui <- dashboardPage( tags$p( style = "font-size: 12pt", "The tool provides a mapping using a Continuous Gaussian Bayesian Belief Network from the - Anthropogenic Pressures through the biotopes and to the output processes and ultimately the + Anthropogenic Pressures through the biotopes and to the Ecosystem processes and ultimately the Ecosystem services, to which the habitat supports." ), tags$p( @@ -170,9 +170,9 @@ ui <- dashboardPage( ) ), plotlyOutput("layer1", height = "270px") %>% withSpinner(), - h4("Effect on Output Processes"), + h4("Effect on Ecosystem Processes"), plotlyOutput("layer2", height = "270px") %>% withSpinner(), - h4("Effect on Ecosystem services"), + h4("Effect on Ecosystem Services"), plotlyOutput("layer3", height = "270px") %>% withSpinner() ), tabItem(tabName = "3",h2("Bayesian Network"), @@ -272,6 +272,8 @@ server <- function(input, output, session) { newNameMap <- openxlsx::read.xlsx("MBA_MESO_Nodes.xlsx") %>% dplyr::select(hab, nodeType, Suggestion, node, newname) + + newNameMap$hab <- stringr::str_replace_all(newNameMap$hab, "_", " ") #save(newNameMap, file="nameMap.RData") stripStr <- function(nodeStr) { @@ -322,7 +324,9 @@ server <- function(input, output, session) { if (!is.null(wb)) { - habName <- substr(fileList[idx], 1, (nchar(fileList[idx])-5)) + habName <- substr(fileList[idx], 1, (nchar(fileList[idx])-5)) %>% + stringr::str_replace_all("_", " ") + print(habName) wb2 <- setNewNames(wb, habName) @@ -693,12 +697,12 @@ server <- function(input, output, session) { zerolinewidth = 10) # plot_ly(boxPlot, x = boxPlot[,1], y = ~Range, color = as.character(boxPlot$Group), colors = palette, type = "box") %>% - layout(xaxis = xform, yaxis=list(range=c(-1.2, 1.2)), showlegend = FALSE, title = title) + layout(xaxis = xform, yaxis=list(dtick=0.25, range=c(-1.25, 1.25)), showlegend = FALSE, title = title) } } - prepPlot <- function(code = "ba", name = "Bio-Assemblage") { + prepPlot <- function(code = "ba", name = "Functional Group") { if (!is.null(.likelihoods$p_es)) { inScope <- startsWith(.likelihoods$p_es$code, code) thisPlot <- .likelihoods$p_es[inScope, c(1,3,4)] @@ -711,11 +715,11 @@ server <- function(input, output, session) { } output$layer1 <- renderPlotly({ - prepPlot("ba", "Bio-Assemblage") + prepPlot("ba", "Functional Groups") }) output$layer2 <- renderPlotly({ - prepPlot("op", "Output Processes") + prepPlot("op", "Ecosystem Processes") }) output$layer3 <- renderPlotly({ diff --git a/reWeight.R b/reWeight.R index b4bd9c7..842ee10 100644 --- a/reWeight.R +++ b/reWeight.R @@ -69,7 +69,7 @@ reWeightModel <- function(thisNet, pressStatus) { dplyr::select(presscode, layer, ba_code, values) %>% tidyr::nest(data=c(presscode, values)) - newP <- reWeightLayer(p_on, fudge=1) + newP <- reWeightLayer(p_on, fudge=2) @@ -86,7 +86,7 @@ reWeightModel <- function(thisNet, pressStatus) { dplyr::rename(op_code=output) %>% tidyr::nest(data=c(ba_code, values)) - newBA <- reWeightLayer(ba_impacted, fudge=4) + newBA <- reWeightLayer(ba_impacted, fudge=2) print("About to recalc op - es") @@ -101,7 +101,7 @@ reWeightModel <- function(thisNet, pressStatus) { dplyr::rename(es_code=output) %>% tidyr::nest(data=c(op_code, values)) - newOP <- reWeightLayer(op_impacted, fudge=4) + newOP <- reWeightLayer(op_impacted, fudge=2) #Check for any more links through the system print("About to recalc es - es") @@ -117,7 +117,7 @@ reWeightModel <- function(thisNet, pressStatus) { dplyr::rename(lo_code=output) %>% tidyr::nest(data=c(lo_code, values)) - newES <- reWeightLayer(es_impacted, fudge=2) + newES <- reWeightLayer(es_impacted, fudge=8) incode <- c(newP$presscode, newBA$ba_code, newOP$op_code, newES$es_code) outcode <- c(newP$ba_code, newBA$op_code, newOP$es_code, newES$lo_code)