## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ## ----------------------------------------------------------------------------- # library(VizModules) # # dittoViz_scatterPlotApp( # data_list = list("sales" = example_sales), # defaults = list( # x.by = "revenue", # y.by = "units", # custom.model.enable = TRUE, # custom.models = list( # models1 = list( # model_type = "lm", # formula = "revenue ~ units", # line_colour = "#1F77B4", # line_width = 2 # ), # models2 = list( # model_type = "loess", # formula = "revenue ~ units", # line_colour = "#E63946", # line_width = 3 # ) # ) # ) # ) ## ----------------------------------------------------------------------------- # library(VizModules) # library(drc) # # register_model_backend("drm", list( # fit = function(formula, data, drc_fct = "LL.4", ...) { # fct_map <- list( # "LL.4" = drc::LL.4, "LL.3" = drc::LL.3, "LL.2" = drc::LL.2, # "W1.4" = drc::W1.4, "W2.4" = drc::W2.4 # ) # fct_fn <- fct_map[[drc_fct]] # if (is.null(fct_fn)) stop("Unknown drc family: ", drc_fct) # drc::drm(formula, data = data, fct = fct_fn()) # }, # predict = function(model, newdata) { # as.numeric(predict(model, newdata = newdata)) # }, # validate_classes = "drc", # fields = list( # drc_fct = list( # type = "select", # args = list(choices = c("LL.4", "LL.3", "LL.2", "W1.4", "W2.4"), # selected = "LL.4") # ) # ) # )) # # # Launch — "drm" now appears in the dropdown with a "Drc fct" selector # data(ryegrass, package = "drc") # dittoViz_scatterPlotApp(data_list = list("ryegrass" = ryegrass)) ## ----------------------------------------------------------------------------- # register_model_backend("gam", list( # fit = function(formula, data, ...) { # mgcv::gam(formula, data = data) # }, # predict = function(model, newdata) { # as.numeric(predict(model, newdata = newdata)) # }, # validate_classes = "gam" # # No extra fields needed — formula handles everything (e.g. y ~ s(x)) # ))