diff --git a/inst/ShinyApp/server.R b/inst/ShinyApp/server.R index e5c9dfdb0df8cc0b8d69474397a9649ba803436e..929fe89b994701ebf065fba6683b26835819086c 100644 --- a/inst/ShinyApp/server.R +++ b/inst/ShinyApp/server.R @@ -100,7 +100,7 @@ server <- function(input, output, session){ shinyjs::show("pop_growth_mat_expert") shinyjs::show("pop_growth_run_expert") } - if(input$lambda_input_type == "Tendance locale ou régionale"){ + if(input$lambda_input_type == "Tendance locale ou régionale"){ shinyjs::show("pop_trend") shinyjs::show("pop_trend_strength") } @@ -225,7 +225,7 @@ server <- function(input, output, session){ param$onset_time = NULL param$fatalities_se <- c(0, round(param$fatalities_eli_result$SE)) } else { - print("#Intégrer un message d'erreur") + print("#Intégrer un message d'erreur") } } else { param$fatalities_mean <- c(0, input$fatalities_mean) @@ -249,7 +249,7 @@ server <- function(input, output, session){ param$pop_size_mean <- round(param$pop_size_eli_result$mean) param$pop_size_se <- round(param$pop_size_eli_result$SE) } else { - print("#intégrer un message d'erreur") + print("#intégrer un message d'erreur") } } else { param$pop_size_mean <- input$pop_size_mean @@ -267,9 +267,9 @@ server <- function(input, output, session){ param$pop_growth_mean <- round(min(1 + param$rMAX_species, round(param$pop_growth_eli_result$mean, 2)), 2) param$pop_growth_se <- round(param$pop_growth_eli_result$SE, 2) } else { - print("#intégrer un message d'erreur") + print("#intégrer un message d'erreur") } - } else if(input$lambda_input_type == "Tendance locale ou régionale"){ + } else if(input$lambda_input_type == "Tendance locale ou régionale"){ if(input$pop_trend == "Croissance") { if(input$pop_trend_strength == "Faible") { param$pop_growth_mean <- 1.01 @@ -278,7 +278,7 @@ server <- function(input, output, session){ } else { param$pop_growth_mean <- 1.06 } - } else if(input$pop_trend == "Déclin"){ + } else if(input$pop_trend == "Déclin"){ if(input$pop_trend_strength == "Faible") { param$pop_growth_mean <- 0.99 } else if(input$pop_trend_strength == "Moyen"){ @@ -335,7 +335,7 @@ server <- function(input, output, session){ if(!(is.null(param$carrying_cap_eli_result))){ param$carrying_capacity <- round(param$carrying_cap_eli_result$mean) } else { - print("#intégrer un message d'erreur") + print("#intégrer un message d'erreur") } } else { param$carrying_capacity <- input$carrying_capacity @@ -420,7 +420,7 @@ server <- function(input, output, session){ else { info <- input$fatalities_mean } - paste0("Moyenne des mortalités : ", info) + paste0("Moyenne des mortalités : ", info) }) output$fatalities_se_info <- renderText({ @@ -432,7 +432,7 @@ server <- function(input, output, session){ else { info <- input$fatalities_se } - paste0("Ecart-type des mortalités : ", info) + paste0("Ecart-type des mortalités : ", info) }) ## Poplutation size @@ -480,7 +480,7 @@ server <- function(input, output, session){ else { info <- input$carrying_capacity } - paste0("Capacité de charge du milieu : ", info) + paste0("Capacité de charge du milieu : ", info) }) ## Population growth @@ -492,7 +492,7 @@ server <- function(input, output, session){ if(!(is.null(param$pop_growth_eli_result))){ info <- round(param$pop_growth_eli_result$mean, 2) } else {info <- NA} - } else if(input$lambda_input_type == "Tendance locale ou régionale"){ + } else if(input$lambda_input_type == "Tendance locale ou régionale"){ if(input$pop_trend == "Croissance") { if(input$pop_trend_strength == "Faible") { info <- 1.01 @@ -501,7 +501,7 @@ server <- function(input, output, session){ } else { info <- 1.06 } - } else if(input$pop_trend == "Déclin"){ + } else if(input$pop_trend == "Déclin"){ if(input$pop_trend_strength == "Faible") { info <- 0.99 } else if(input$pop_trend_strength == "Moyen"){ @@ -523,7 +523,7 @@ server <- function(input, output, session){ if(!(is.null(param$pop_growth_eli_result))){ info <- round(param$pop_growth_eli_result$SE, 2) } else {info <- NA} - } else if (input$lambda_input_type == "Tendance locale ou régionale") { + } else if (input$lambda_input_type == "Tendance locale ou régionale") { info <- 0.03 } else { @@ -547,7 +547,7 @@ server <- function(input, output, session){ observeEvent({input$farm_number_cumulated}, { rows_names <- function(n){ - v <- c(paste0("Parc n°", c(1:n))) + v <- c(paste0("Parc n°", c(1:n))) return(v) } @@ -560,9 +560,9 @@ server <- function(input, output, session){ updateMatrixInput(session, inputId = "fatalities_mat_cumulated", value = matrix("", nrow = nrow, 3, dimnames = list(number_parks, - c("Moyennes des mortalités annuelles", - "Ecart-type des mortalités annuelles", - "Année de mise en service du parc")))) + c("Moyennes des mortalités annuelles", + "Ecart-type des mortalités annuelles", + "Année de mise en service du parc")))) }) # Survivals and Fecundities @@ -575,7 +575,7 @@ server <- function(input, output, session){ } observeEvent({input$species_list}, { - if(input$species_list == "Espèce") {} else { + if(input$species_list == "Espèce") {} else { tab_species <- create.matrice(input$species_list) if(all(is.na(tab_species))) { @@ -583,7 +583,7 @@ server <- function(input, output, session){ value = matrix(data = "", nrow = 4, ncol = 2, - dimnames = list(c("Juv 1", "Juv 2", "Juv 3", "Adulte"), c("Survie", "Fécondité")))) + dimnames = list(c("Juv 1", "Juv 2", "Juv 3", "Adulte"), c("Survie", "Fécondité")))) } else { number_age_class <- nrow(tab_species) @@ -595,7 +595,7 @@ server <- function(input, output, session){ value = matrix(data = c(survivals, fecundities), nrow = number_age_class, ncol = 2, - dimnames = list(ages, c("Survie", "Fécondité")))) + dimnames = list(ages, c("Survie", "Fécondité")))) } } }) diff --git a/inst/ShinyApp/survivals_fecundities_species.csv b/inst/ShinyApp/survivals_fecundities_species.csv index 1fffbb75d1320277bc29bcbefb8ec05f1ee1b3e6..b2bce0a2b10a784ed2371f9fb4b884f51b01bd0c 100644 --- a/inst/ShinyApp/survivals_fecundities_species.csv +++ b/inst/ShinyApp/survivals_fecundities_species.csv @@ -1,10 +1,10 @@ -Nom_espece;classes_age;survie;fecondite -Aigle botté;Juv 1;0.5;0 -Aigle botté;Juv 2;0.7;0 -Aigle botté;Juv 3;0.8;0.05 -Aigle botté;Adulte;0.95;0.55 -Aigle de Bonelli;Juv 1;0.4;0 -Aigle de Bonelli;Juv 2;0.55;0 -Aigle de Bonelli;Juv 3;0.6;0.05 -Aigle de Bonelli;Juv 4;0.65;0.3 -Aigle de Bonelli;Adulte;0.8;0.4 +Nom_espece,classes_age,survie,fecondite +Aigle botté,Juv 1,0.5,0 +Aigle botté,Juv 2,0.7,0 +Aigle botté,Juv 3,0.8,0.05 +Aigle botté,Adulte,0.95,0.55 +Aigle de Bonelli,Juv 1,0.4,0 +Aigle de Bonelli,Juv 2,0.55,0 +Aigle de Bonelli,Juv 3,0.6,0.05 +Aigle de Bonelli,Juv 4,0.65,0.3 +Aigle de Bonelli,Adulte,0.8,0.4 \ No newline at end of file diff --git a/inst/ShinyApp/ui.R b/inst/ShinyApp/ui.R index 7e99f639fec08758c628540d83d3fc238b1637c7..b20338e5ef9e7b6e40dcacdb7b910983e33719a9 100644 --- a/inst/ShinyApp/ui.R +++ b/inst/ShinyApp/ui.R @@ -10,10 +10,15 @@ library(eolpop) # source("./inst/ShinyApp/f_output.R") source("./inst/ShinyApp/param_fixes.R") + species_data <- read.csv("./inst/ShinyApp/species_list.csv", sep = ",") -species_list <- unique(as.character(species_data$NomEspece)) +head(species_data) + +# species_list <- unique(as.character(species_data$NomEspece)) +species_list <- species_data$NomEspece -data_sf <- read.csv("./inst/ShinyApp/survivals_fecundities_species.csv", sep = ";", encoding = "UTF-8") +data_sf <- read.csv("./inst/ShinyApp/survivals_fecundities_species.csv", sep = ",")#, encoding = "UTF-8") +head(data_sf) # Fixed parameters (for now) @@ -42,17 +47,17 @@ rMAX_species ##-------------------------------------------- ui <- fluidPage( useShinyjs(), - titlePanel("eolpop : Impact demographique des éoliennes"), + titlePanel("eolpop : Impact demographique des éoliennes"), # Creation of the first page (select species, analysis type choice) wellPanel( selectInput(inputId = "species_list", - h4(strong("Sélection d'une espèce ou groupe d'espèces")), + h4(strong("Sélection d'une espèce ou groupe d'espèces")), choices = species_list), radioButtons(inputId = "analysis_choice", - h4(strong("Sélectionner un type d'analyse")), - choices = c("Impacts non cumulés" = "scenario", "Impacts cumulés" = "cumulated")) + h4(strong("Sélectionner un type d'analyse")), + choices = c("Impacts non cumulés" = "scenario", "Impacts cumulés" = "cumulated")) ), # End wellPanel @@ -64,7 +69,7 @@ ui <- fluidPage( fluidRow( column(width = 4, textOutput(outputId = "specie_name"), - h4("Mortalités"), + h4("Mortalités"), textOutput(outputId = "fatalities_mean_info"), textOutput(outputId = "fatalities_se_info"), h4("Taille de la population"), @@ -73,7 +78,7 @@ ui <- fluidPage( textOutput(outputId = "pop_size_se_info")), fluidRow( column(width = 4, - h4("Capacité de charge"), + h4("Capacité de charge"), textOutput(outputId = "carrying_capacity_info"), h4("Tendance de la population"), textOutput(outputId = "pop_trend_type_info"), @@ -81,7 +86,7 @@ ui <- fluidPage( textOutput(outputId = "pop_growth_se_info")), fluidRow( column(width = 4, - h4("Paramètres démographiques"), + h4("Paramètres démographiques"), tableOutput(outputId = "vital_rates_info")) ) ) @@ -99,25 +104,25 @@ ui <- fluidPage( ##-------------------------------------------- actionButton(inputId = "button_fatalities", - label = "Mortalités"), + label = "Mortalités"), radioButtons(inputId = "fatal_constant", - label = h4("Modélisation"), - choices = c("Taux de mortalités (h) constant" = "h", - "Nombre de mortalités (M) constant" = "M")), + label = h4("Modélisation"), + choices = c("Taux de mortalités (h) constant" = "h", + "Nombre de mortalités (M) constant" = "M")), ### Part for non-cumulated impacts # Input type radioButtons(inputId = "fatalities_input_type", - label = h4("Source des données"), + label = h4("Source des données"), choices = c("Valeurs", "Elicitation d'expert")), # Values numericInput(inputId = "fatalities_mean", - label = "Moyenne des mortalités annuelles", + label = "Moyenne des mortalités annuelles", value = 5, min = 0, max = Inf, step = 0.5), numericInput(inputId = "fatalities_se", - label = "Ecart-type des mortalités annuelles", + label = "Ecart-type des mortalités annuelles", value = 0.05, min = 0, max = Inf, step = 0.1), @@ -133,15 +138,15 @@ ui <- fluidPage( ### Part for cumulated impacts numericInput(inputId = "farm_number_cumulated", - label = "Nombre de parcs éoliens", + label = "Nombre de parcs éoliens", value = 3, min = 2, max = Inf, step = 1), matrixInput(inputId = "fatalities_mat_cumulated", value = matrix(data_fatalities, 3, 3, - dimnames = list(c(paste0("Parc n°", c(1:3))), - c("Moyennes des mortalités annuelles", - "Ecart-type des mortalités annuelles", - "Année de mise en service du parc"))), + dimnames = list(c(paste0("Parc n°", c(1:3))), + c("Moyennes des mortalités annuelles", + "Ecart-type des mortalités annuelles", + "Année de mise en service du parc"))), class = "numeric", rows = list(names = TRUE), cols = list(names = TRUE)), @@ -156,7 +161,7 @@ ui <- fluidPage( label = "Taille de la population"), radioButtons(inputId = "pop_size_type", - label = h4("Unité"), + label = h4("Unité"), choices = c("Nombre de couple" = "Npair", "Effectif total" = "Ntotal")), radioButtons(inputId = "pop_size_input_type", @@ -191,14 +196,14 @@ ui <- fluidPage( br(" "), actionButton(inputId = "button_carrying_cap", - label = "Capacité de charge"), + label = "Capacité de charge"), radioButtons(inputId = "carrying_cap_input_type", - label = h4("Type d'unité"), + label = h4("Type d'unité"), choices = c("Valeurs", "Elicitation d'expert")), numericInput(inputId = "carrying_capacity", - label = "Capacité de charge", + label = "Capacité de charge", value = 1000, min = 0, max = Inf, step = 100), @@ -220,7 +225,7 @@ ui <- fluidPage( radioButtons(inputId = "lambda_input_type", label = h4("Type de tendance"), - choices = c("Taux de croissance", "Elicitation d'expert", "Tendance locale ou régionale")), + choices = c("Taux de croissance", "Elicitation d'expert", "Tendance locale ou régionale")), numericInput(inputId = "pop_growth_mean", label = "Moyenne de la croissance de la population", @@ -244,7 +249,7 @@ ui <- fluidPage( radioButtons(inputId = "pop_trend", label = NULL, - choices = c("Croissance", "Stable", "Déclin")), + choices = c("Croissance", "Stable", "Déclin")), radioButtons(inputId = "pop_trend_strength", label = NULL, @@ -259,7 +264,7 @@ ui <- fluidPage( br(" "), actionButton(inputId = "button_vital_rates", - label = "Paramètres démographiques"), + label = "Paramètres démographiques"), radioButtons(inputId = "fill_type_vr", label = "Type de saisie", @@ -268,13 +273,13 @@ ui <- fluidPage( # tableOutput(outputId = "mat_display_vr"), matrixInput(inputId = "mat_display_vr", - value = matrix("", 4, 2, dimnames = list(c("Juv 1", "Juv 2", "Juv 3", "Adulte"), c("Survie", "Fécondité"))), + value = matrix("", 4, 2, dimnames = list(c("Juv 1", "Juv 2", "Juv 3", "Adulte"), c("Survie", "Fécondité"))), class = "numeric", rows = list(names = TRUE), cols = list(names = TRUE)), matrixInput(inputId = "mat_fill_vr", - value = matrix(data = data_vr, 4, 2, dimnames = list(c("Juv 1", "Juv 2", "Juv 3", "Adulte"), c("Survie", "Fécondité"))), + value = matrix(data = data_vr, 4, 2, dimnames = list(c("Juv 1", "Juv 2", "Juv 3", "Adulte"), c("Survie", "Fécondité"))), class = "numeric", rows = list(names = TRUE), cols = list(names = TRUE)) @@ -298,41 +303,41 @@ ui <- fluidPage( br(), actionButton(inputId = "run", label = "Lancer l'analyse"), hr(), - h4("Graphique : Impact relatif de chaque scénario", align = "center"), + h4("Graphique : Impact relatif de chaque scénario", align = "center"), plotOutput("graph_impact", width = "100%", height = "550px"), hr(), - h4("Graphique : Trajectoire démographique", align = "center"), + h4("Graphique : Trajectoire démographique", align = "center"), plotOutput("graph_traj", width = "100%", height = "550px")), - tabPanel(title = "Distribution paramètres", + tabPanel(title = "Distribution paramètres", br(), hr(), - h4("#Graphe élicitation d'expert pour les mortalités", align = "center"), + h4("#Graphe élicitation d'expert pour les mortalités", align = "center"), plotOutput(outputId = "fatalities_expert_plot"), hr(), - h4("#Graphe élicitation d'expert pour la taille de la population", align = "center"), + h4("#Graphe élicitation d'expert pour la taille de la population", align = "center"), plotOutput(outputId = "pop_size_expert_plot"), hr(), - h4("#Graphe élicitation d'expert pour la capacité de charge", align = "center"), + h4("#Graphe élicitation d'expert pour la capacité de charge", align = "center"), plotOutput(outputId = "carrying_cap_expert_plot"), hr(), - h4("#Graphe élicitation d'expert pour la tendance de la population", align = "center"), + h4("#Graphe élicitation d'expert pour la tendance de la population", align = "center"), plotOutput(outputId = "pop_growth_expert_plot"), ), tabPanel(title = "Rapport", br(), radioButtons(inputId = "lifestyle", - h4("Mode de vie de l'espèce"), - choices = c("Sédentaire", "Non-sédentaire nicheur", "Non-sédentaire hivernant", "Migrateur de passage")), + h4("Mode de vie de l'espèce"), + choices = c("Sédentaire", "Non-sédentaire nicheur", "Non-sédentaire hivernant", "Migrateur de passage")), numericInput(inputId = "wind_turbines", - h4("Nombre d'éoliennes"), + h4("Nombre d'éoliennes"), value = 5, min = 0, max = Inf, step = 1), numericInput(inputId = "farm_number", h4("Nombre de parcs"), value = 1, min = 0, max = Inf, step = 1), numericInput(inputId = "wind_turbines_2", - h4("Nombre d'éoliennes"), + h4("Nombre d'éoliennes"), value = 1, min = 0, max = Inf, step = 1) ) # End tabPanel diff --git a/run_shiny.R b/run_shiny.R index 487b2c55228dfdb0298ab211a0353369b66efebf..c845766867efa66b8f352e178815bc0858c3096d 100644 --- a/run_shiny.R +++ b/run_shiny.R @@ -1,4 +1,4 @@ -source("C:/rdev/eolpop/inst/ShinyApp/ui.R") -source("C:/rdev/eolpop/inst/ShinyApp/server.R") - -shinyApp(ui = ui, server = server) +source("C:/rdev/eolpop/inst/ShinyApp/ui.R") +source("C:/rdev/eolpop/inst/ShinyApp/server.R") + +shinyApp(ui = ui, server = server)