Helper functions meant to be used in conjunction with mbte_fit.

tr_linear()

tr_exponential()

tr_logistic()

Value

A fitting-quosure will be returned.

Functions

  • tr_linear: Determine a linear trend using lm.

  • tr_exponential: The presence of an exponenetial trend is determined by applying a log-transformation to the signal-values and fitting them via lm. A vector of the correct length with NA's will be returned if some values of the signal are zero or negative.

  • tr_logistic: Fit a sigmoid model using nls2. This fitting helper requires the `nls2`-package (the "port"-algorithm with 500 iterations is used). The signal-tibble to fit must have at least five rows (see mbte_fit). Otherwise NA's are returned.

    The formula used for fitting is value ~ A / (1 + exp(B * (C - time))) + D. NOTE: warnings are suppressed.

See also

filtered_signals (dataset used in examples)

Examples

data(filtered_signals) # Use fitting helpers to fit signals # # NOTE: The unquoting operator (`!!`) is used, since fitting helpers return # quosures. fits1 <- mbte_fit(filtered_signals, lin = !!tr_linear()) fits1
#> # A tibble: 37 x 4 #> mv signal_nr signal fits #> <chr> <int> <list> <list> #> 1 mv1 1 <tibble [22 × 2]> <tibble [22 × 1]> #> 2 mv3 2 <tibble [22 × 2]> <tibble [22 × 1]> #> 3 mv5 1 <tibble [30 × 2]> <tibble [30 × 1]> #> 4 mv6 1 <tibble [21 × 2]> <tibble [21 × 1]> #> 5 mv6 3 <tibble [30 × 2]> <tibble [30 × 1]> #> 6 mv7 1 <tibble [56 × 2]> <tibble [56 × 1]> #> 7 mv8 1 <tibble [29 × 2]> <tibble [29 × 1]> #> 8 mv8 2 <tibble [26 × 2]> <tibble [26 × 1]> #> 9 mv9 1 <tibble [63 × 2]> <tibble [63 × 1]> #> 10 mv10 1 <tibble [25 × 2]> <tibble [25 × 1]> #> # … with 27 more rows
# Equivalent without using fitting-helpers (columns for time and value of # signal have to be provided explicitly) fits2 <- mbte_fit(filtered_signals, lin = lm(value ~ t, .signal)) fits2
#> # A tibble: 37 x 4 #> mv signal_nr signal fits #> <chr> <int> <list> <list> #> 1 mv1 1 <tibble [22 × 2]> <tibble [22 × 1]> #> 2 mv3 2 <tibble [22 × 2]> <tibble [22 × 1]> #> 3 mv5 1 <tibble [30 × 2]> <tibble [30 × 1]> #> 4 mv6 1 <tibble [21 × 2]> <tibble [21 × 1]> #> 5 mv6 3 <tibble [30 × 2]> <tibble [30 × 1]> #> 6 mv7 1 <tibble [56 × 2]> <tibble [56 × 1]> #> 7 mv8 1 <tibble [29 × 2]> <tibble [29 × 1]> #> 8 mv8 2 <tibble [26 × 2]> <tibble [26 × 1]> #> 9 mv9 1 <tibble [63 × 2]> <tibble [63 × 1]> #> 10 mv10 1 <tibble [25 × 2]> <tibble [25 × 1]> #> # … with 27 more rows