inst/shinyApps/rapLayoutTemplate/server.R

library(shiny)
library(magrittr)
library(raptools)

server <- function(input, output, session) {

  # html rendering function for re-use
  htmlRenderRmd <- function(srcFile) {
    system.file(srcFile, package = "raptools") %>%
      knitr::knit() %>%
      markdown::markdownToHTML(.,
                               options = c("fragment_only",
                                           "base64_images",
                                           "highlight_code")) %>%
      shiny::HTML()
  }

  makeHist <- function(var, bins, makeTable = FALSE) {
    x    <- mtcars[[var]]
    bins <- seq(min(x), max(x), length.out = bins + 1)
    t <- hist(x, breaks = bins, col = "#154ba2", border = "white",
              main = paste("Fordeling av", var), xlab = var,
              ylab = "Antall")
    if (makeTable) {
      data.frame(GruppeMin = t$breaks[seq_len(length(t$mids))],
                 GruppeMax = t$breaks[2:(length(t$mids) + 1)],
                 Antall = t$counts)
    } else {
      t
    }
  }

  output$formFarge <- renderUI({
    htmlRenderRmd("formOgFarge.Rmd")
  })

  output$sampleUcControl <- renderUI({
    selectInput(inputId = "sampleUc", label = "Sample user ctrl",
                choices = c("How", "it", "will", "look"))
  })

  output$distPlot <- renderPlot({
    makeHist(var = input$var, bins = input$bins)
  })

  output$distTable <- renderTable({
    makeHist(var = input$var, bins = input$bins, makeTable = TRUE)
  })

  output$vurdering2niva <- renderUI({
    htmlRenderRmd("vurdering2niva.Rmd")
  })

  output$distPlotMpg <- renderPlot({
    makeHist(var = "mpg", bins = input$binsMpg)
  })

  output$distTableMpg <- renderTable({
    makeHist(var = "mpg", bins = input$binsMpg, makeTable = TRUE)
  })

  output$distPlotHp <- renderPlot({
    makeHist(var = "hp", bins = input$binsHp)
  })

  output$distTableHp <- renderTable({
    makeHist(var = "hp", bins = input$binsHp, makeTable = TRUE)
  })

  output$distPlotWt <- renderPlot({
    makeHist(var = "wt", bins = input$binsWt)
  })

  output$distTableWt <- renderTable({
    makeHist(var = "wt", bins = input$binsWt, makeTable = TRUE)
  })

  output$vurdering3niva <- renderUI({
    htmlRenderRmd("vurdering3niva.Rmd")
  })
}
Rapporteket/raptools documentation built on May 1, 2022, 6:42 a.m.