Broom tidies a number of lists that are effectively S3
objects without a class attribute. For example, stats::optim()
,
svd()
and akima::interp()
produce consistent output, but because
they do not have a class attribute, they cannot be handled by S3 dispatch.
These functions look at the elements of a list and determine if there is
an appropriate tidying method to apply to the list. Those tidiers are
themselves are implemented as functions of the form tidy_<function>
or glance_<function>
and are not exported (but they are documented!).
If no appropriate tidying method is found, throws an error.
tidy_optim(x, ...)
x | A list returned from |
---|---|
... | Additional arguments. Not used. Needed to match generic
signature only. Cautionary note: Misspelled arguments will be
absorbed in |
A tibble::tibble with one row per parameter estimated by optim
and columns:
name of the parameter, or parameter1
,
parameter2
... if the input vector is not named
parameter value that minimizes or maximizes the output
Other list tidiers: glance_optim
,
list_tidiers
, tidy_irlba
,
tidy_svd
, tidy_xyz
func <- function(x) { (x[1] - 2)^2 + (x[2] - 3)^2 + (x[3] - 8)^2 } o <- optim(c(1, 1, 1), func) tidy(o)#> # A tibble: 3 x 2 #> parameter value #> <chr> <dbl> #> 1 parameter1 2.00 #> 2 parameter2 3.00 #> 3 parameter3 8.00glance(o)#> # A tibble: 1 x 4 #> value function.count gradient.count convergence #> <dbl> <int> <int> <int> #> 1 0.000000368 144 NA 0