# 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
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.