From 509a4378252d902c305ec004029996a12520148b Mon Sep 17 00:00:00 2001 From: Falipou Eva <eva.falipou@irstea.priv> Date: Fri, 12 Feb 2021 16:17:19 +0100 Subject: [PATCH] =?UTF-8?q?Nouvelle=20version=20avec=20possibilit=C3=A9=20?= =?UTF-8?q?de=20commenter=20les=20r=C3=A9sultats=20et=20de=20les=20exporte?= =?UTF-8?q?r=20dans=20un=20fichier=20word?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- generalized ln-linear.R | 53 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 5 deletions(-) diff --git a/generalized ln-linear.R b/generalized ln-linear.R index 7c4e4ed..52d3a09 100644 --- a/generalized ln-linear.R +++ b/generalized ln-linear.R @@ -4,6 +4,7 @@ library(dplyr) library(rhandsontable) library(data.table) library(numDeriv) +library(gridExtra) ln_lineaire <- function(labvdep,don,zm,zd,alpha){ @@ -353,7 +354,13 @@ ui <- fluidPage( h3("Choose quantile (%)"), numericInput("alpha", "Quantile", min=1, value=50, max=100), - actionButton("run", "Show results")), + actionButton("run", "Show results"), + br(), + br(), + br(), + h3("Download results"), + textInput("title","Document title","Results"), + downloadButton("download","Download")), # Main panel for displaying outputs ---- @@ -365,6 +372,7 @@ ui <- fluidPage( br(), p(strong("> Select the csv file containing the data to be analyzed")), p("It has to be a csv file with semicolon separator"), + p("The file should contain the different dependent variables (ex : TSS, CDO, BDO,...) and the different explanatory variables with corresponding column headers (ex: facility, age group,...)"), br(), p(strong("> Choose the dependent variable")), p("For example TSS"), @@ -386,7 +394,10 @@ ui <- fluidPage( br(), p(strong("> Choose the quantile you want to be returned by the model")), br(), - p(strong("> Lauch the model by clicking on the 'Show results' button. The table of estimates and the table of quantiles appear in the 'Results' panel.")) + p(strong("> Lauch the model by clicking on the 'Show results' button. The table of estimates and the table of quantiles appear in the 'Results' panel.")), + br(), + p(strong("> Export results")), + p("It is finaly possible to comment the results (dataset used, reference set, conclusions,...) and to export them in a word file using the 'Download' button (with a title choosen by the user).") ), tabPanel("Data Table", @@ -401,7 +412,12 @@ ui <- fluidPage( h3("> Quantiles"), textOutput("lab_quant"), - dataTableOutput("quantile")) + dataTableOutput("quantile"), + + + h3("Comment"), + tags$textarea(id="description", rows=6, cols=80,)) + ) ) ) @@ -410,7 +426,7 @@ ui <- fluidPage( # server server <- function(input, output) { - + #Reactive values values <- reactiveValues(mat=NULL, don=NULL) # Importation du fichier de donnees @@ -503,7 +519,7 @@ server <- function(input, output) { observeEvent(input$run,{ outputs <- ln_lineaire(labvdep=input$var,don=values$don,zm=input$median,zd=input$disp,alpha=input$alpha/100) - + # return table of estimates output$lab_res <- renderText({ paste("Parameter: ",isolate(input$var),"\n") @@ -516,6 +532,33 @@ server <- function(input, output) { paste("Dependent variable: ",isolate(input$var)," - Table of observed and theoretical ",input$alpha,"% quantiles:\n") }) output$quantile <- renderDataTable(outputs[[2]], options = list(dom = 't', searching = FALSE)) + + output$download <- downloadHandler( + filename = function(){paste0(input$title, ".doc")}, + content = function(file) { + # Copy the report file to a temporary directory before processing it, in + # case we don't have write permissions to the current working dir (which + # can happen when deployed). + tempReport <- file.path(tempdir(), "results.Rmd") + file.copy("results.Rmd", tempReport, overwrite = TRUE) + + # Set up parameters to pass to Rmd document + params <- list(description = input$description, + estimates = outputs[[1]], + quantile = outputs[[2]] + ) + + # Knit the document, passing in the `params` list, and eval it in a + # child of the global environment (this isolates the code in the document + # from the code in this app). + rmarkdown::render(tempReport, + output_file = file, + params = params, + envir = new.env(parent = globalenv()) + ) + } + ) + }) -- GitLab