inst/apps/Design-Verifikation_v0.1.1/server/app_data.R

# ostit object definiton  -----
ostit <- reactiveValues(
  #raw-data
  raw_data = data.frame(valid = TRUE, Messwert = as.numeric(rep(NA, 5)),  Kommentar = "", stringsAsFactors = FALSE),
  messwerte = NA,
  valid_data = NA,
  # meta-data
  variable_name = "",
  variable_unit = "",
  # dokumentation
  versuchsziel = "",
  sollwert = "",
  versuchsbeschreibung = "",
  ergebnis = "",
  schlussfolgerung = "",
  general_comment = "",
  stichprobengroessenbestimmung = "",

  # test-spec
  spec = 0,
  spec_type = "lsl",
  p_min = 95,
  power = 75,

  # general statistics
  sample_size = 0,
  sample_mean = NA,
  sample_sd = NA,
  kc = NA,
  ltl = NA,
  utl = NA,
  nr_io_items = NA,
  test_result = NA,

  # design-aid ostit
  p_pass_desired = 98,
  sample_size_desired = 3
)





# ostit data-change event handler ----
observe({

  # messwert handling
  if (!is.null(input$raw_data)){# in app-start-up input$raw_data is null!
    ostit$raw_data <- hot_to_r(input$raw_data)
  }
  # update display
  output$raw_data <- renderRHandsontable({
    rhandsontable(ostit$raw_data)
  })

  ostit$messwerte <- (ostit$raw_data %>% filter(valid & !is.na(Messwert)))[,"Messwert"]
  ostit$valid_data <-
    (ostit$raw_data %>%
       transform(obsNr = as.numeric(row.names(ostit$raw_data))) %>%
       filter(valid ==TRUE & !is.na(Messwert)))[,c("obsNr", "Messwert")]

  # meta-data
  ostit$variable_name <- input$variable_name
  ostit$variable_unit <- input$variable_unit

  # dokumentation
  ostit$versuchsziel <- input$versuchsziel
  ostit$sollwert <- input$sollwert
  ostit$versuchsbeschreibung <- input$versuchsbeschreibung
  ostit$ergebnis <- input$ergebnis
  ostit$schlussfolgerung <- input$schlussfolgerung
  ostit$general_comment <- input$general_comment
  ostit$vorversuchsergebnisse<- input$vorversuchsergebnisse

  # test-spec
  ostit$spec <- input$spec
  ostit$spec_type <- input$spec_type
  ostit$p_min <- input$p_min/100
  ostit$power <- input$power/100

  ostit$sample_size <- ostit$raw_data %>% filter(valid & !is.na(Messwert)) %>% nrow()
  ostit$sample_mean <-  ostit$raw_data %>% filter(valid & !is.na(Messwert)) %$% mean(Messwert)
  ostit$sample_sd <- ostit$raw_data %>% filter(valid & !is.na(Messwert)) %$% sd(Messwert)
  ostit$kc <- kc(p = ostit$p_min, alpha = (1 - ostit$power), n = ostit$sample_size)

  ostit$ltl <- ostit$sample_mean - ostit$kc * ostit$sample_sd
  ostit$nr_io_items <- ostit$raw_data %>% filter(valid & !is.na(Messwert)) %$% sum(Messwert > ostit$spec)

  ostit$utl <- ostit$sample_mean + ostit$kc * ostit$sample_sd
  ostit$nr_io_items <- ostit$raw_data %>% filter(valid & !is.na(Messwert)) %$% sum(Messwert < ostit$spec)

  ostit$test_result <- ifelse(ostit$spec_type == "lsl",
                              ifelse(ostit$ltl > ostit$spec, "bestanden", "nicht bestanden"),
                              ifelse(ostit$utl < ostit$spec, "bestanden", "nicht bestanden"))
  # setup test-design
  ostit$p_pass_desired <- input$p_pass_desired/100
  ostit$sample_size_desired <- input$sample_size_desired

})
stephanGit/leistungstests documentation built on May 30, 2019, 3:14 p.m.