expand.tbl_lazy function

Expand SQL tables to include all possible combinations of values

Expand SQL tables to include all possible combinations of values

This is a method for the tidyr::expand generics. It doesn't sort the result explicitly, so the order might be different to what expand()

returns for data frames.

## S3 method for class 'tbl_lazy' expand(data, ..., .name_repair = "check_unique")

Arguments

  • data: A lazy data frame backed by a database query.

  • ...: Specification of columns to expand. See tidyr::expand for more details.

  • .name_repair: Treatment of problematic column names:

    • "minimal": No name repair or checks, beyond basic existence,

    • "unique": Make sure names are unique and not empty,

    • "check_unique": (default value), no name repair, but check they are unique,

    • "universal": Make the names unique and syntactic

    • a function: apply custom name repair (e.g., .name_repair = make.names

      for names in the style of base R).

    • A purrr-style anonymous function, see rlang::as_function()

    This argument is passed on as repair to vctrs::vec_as_names(). See there for more details on these terms and the strategies used to enforce them.

Returns

Another tbl_lazy. Use show_query() to see the generated query, and use collect() to execute the query and return data to R.

Examples

fruits <- memdb_frame( type = c("apple", "orange", "apple", "orange", "orange", "orange"), year = c(2010, 2010, 2012, 2010, 2010, 2012), size = c("XS", "S", "M", "S", "S", "M"), weights = rnorm(6) ) # All possible combinations --------------------------------------- fruits %>% tidyr::expand(type) fruits %>% tidyr::expand(type, size) # Only combinations that already appear in the data --------------- fruits %>% tidyr::expand(nesting(type, size))
  • Maintainer: Hadley Wickham
  • License: MIT + file LICENSE
  • Last published: 2024-03-19