Modelling function factory for Google Analytics data
Create ga_model objects for easy application of models to data
ga_model_make( data_f, required_columns, model_f, output_f = function(df, ...) { plot(df) }, required_packages = NULL, description = NULL, outputShiny = shiny::plotOutput, renderShiny = shiny::renderPlot, inputShiny = shiny::tagList() )
data_f |
A function that gets the data |
required_columns |
What dimensions and metrics are required |
model_f |
A function that inputs data, and outputs a list of assets -
must take data from result of |
output_f |
A function that inputs the output from |
required_packages |
The packages needed for |
description |
An optional description of what the model does |
outputShiny |
A shiny UI output function that will display the results |
renderShiny |
A shiny render function that will create the output for |
inputShiny |
Optional input shiny functions (like |
The passed functions should all have ...
to make them flexible
in what arguments can be added. Do not have the same argument names in both functions.
The data_f
function result will feed to model_f
A ga_model
object to pass to ga_model
Other GA modelling functions:
ga_model_edit()
,
ga_model_example()
,
ga_model_load()
,
ga_model_save()
,
ga_model_shiny_load()
,
ga_model_shiny_template()
,
ga_model_shiny()
,
ga_model_write()
,
ga_model()
## Not run: get_model_data <- function(viewId, date_range = c(Sys.Date()- 300, Sys.Date()), ...){ google_analytics(viewId, date_range = date_range, metrics = "sessions", dimensions = "date", max = -1) } decompose_sessions <- function(df, ...){ decompose(ts(df$sessions, frequency = 7)) } decomp_ga <- ga_model_make(get_model_data, required_columns = c("date", "sessions"), model_f = decompose_sessions, description = "Performs decomposition and creates plot") # fetches data and outputs decomposition ga_model(81416156, decomp_ga) # save the model for later model_location <- "decomp_ga.gamr" ga_model_save(decomp_ga, filename = model_location) # can load model from file ga_model(81416156, model_location) # or load model to an object and use model2 <- ga_model_load(model_location) ga_model(81416156, model2) # for shiny include functions for the UI and server rendering decomp_ga <- ga_model_make(get_model_data, required_columns = c("date", "sessions"), model_f = decompose_sessions, output_f = function(df, ...){graphics::plot(df)}, description = "Performs decomposition and creates a plot", outputShiny = shiny::plotOutput, renderShiny = shiny::renderPlot) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.