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.

xyz lists (lists where x and y are vector of coordinates and z is a matrix of values) are typically used by functions such as graphics::persp() or graphics::image() and returned by interpolation functions such as akima::interp().

tidy_xyz(x, ...)

Arguments

x

A list with component x, y and z, where x and y are vectors and z is a matrix. The length of x must equal the number of rows in z and the length of y must equal the number of columns in z.

...

Additional arguments. Not used. Needed to match generic signature only. Cautionary note: Misspelled arguments will be absorbed in ..., where they will be ignored. If the misspelled argument has a default value, the default value will be used. For example, if you pass conf.lvel = 0.9, all computation will proceed using conf.level = 0.95. Additionally, if you pass newdata = my_tibble to an augment() method that does not accept a newdata argument, it will use the default value for the data argument.

Value

A tibble::tibble with vector columns x, y and z.

See also

Examples

A <- list(x = 1:5, y = 1:3, z = matrix(runif(5 * 3), nrow = 5)) image(A)
tidy(A)
#> # A tibble: 15 x 3 #> x y z #> <int> <int> <dbl> #> 1 1 1 0.705 #> 2 2 1 0.263 #> 3 3 1 0.549 #> 4 4 1 0.315 #> 5 5 1 0.923 #> 6 1 2 0.995 #> 7 2 2 0.00309 #> 8 3 2 0.527 #> 9 4 2 0.191 #> 10 5 2 0.355 #> 11 1 3 0.907 #> 12 2 3 0.141 #> 13 3 3 0.911 #> 14 4 3 0.590 #> 15 5 3 0.625