Skip to contents

Use these methods without the '.dm_zoomed' suffix (see examples).


# S3 method for dm_zoomed
filter(.data, ...)

# S3 method for dm_zoomed
mutate(.data, ...)

# S3 method for dm_zoomed
transmute(.data, ...)

# S3 method for dm_zoomed
select(.data, ...)

# S3 method for dm_zoomed
relocate(.data, ..., .before = NULL, .after = NULL)

# S3 method for dm_zoomed
rename(.data, ...)

# S3 method for dm_zoomed
distinct(.data, ..., .keep_all = FALSE)

# S3 method for dm_zoomed
arrange(.data, ...)

# S3 method for dm_zoomed
slice(.data, ..., .keep_pk = NULL)

# S3 method for dm_zoomed
group_by(.data, ...)

# S3 method for dm_keyed_tbl
group_by(.data, ...)

# S3 method for dm_zoomed
ungroup(x, ...)

# S3 method for dm_zoomed
summarise(.data, ...)

# S3 method for dm_keyed_tbl
summarise(.data, ...)

# S3 method for dm_zoomed
  wt = NULL,
  sort = FALSE,
  name = NULL,
  .drop = group_by_drop_default(x)

# S3 method for dm_zoomed
tally(x, ...)

# S3 method for dm_zoomed
pull(.data, var = -1, ...)

# S3 method for dm_zoomed
compute(x, ...)



object of class dm_zoomed


see corresponding function in package dplyr or tidyr

.before, .after

<tidy-select> Destination of columns selected by .... Supplying neither will move columns to the left-hand side; specifying both is an error.


For distinct.dm_zoomed(): see dplyr::distinct()


For slice.dm_zoomed: Logical, if TRUE, the primary key will be retained during this transformation. If FALSE, it will be dropped. By default, the value is NULL, which causes the function to issue a message in case a primary key is available for the zoomed table. This argument is specific for the slice.dm_zoomed() method.


For ungroup.dm_zoomed: object of class dm_zoomed


<data-masking> Frequency weights. Can be NULL or a variable:

  • If NULL (the default), counts the number of rows in each group.

  • If a variable, computes sum(wt) for each group.


If TRUE, will show the largest groups at the top.


The name of the new column in the output.

If omitted, it will default to n. If there's already a column called n, it will use nn. If there's a column called n and nn, it'll use nnn, and so on, adding ns until it gets a new name.


For count(): if FALSE will include counts for empty groups (i.e. for levels of factors that don't exist in the data). Deprecated in add_count() since it didn't actually affect the output.


A variable specified as:

  • a literal variable name

  • a positive integer, giving the position counting from the left

  • a negative integer, giving the position counting from the right.

The default returns the last column (on the assumption that's the column you've created most recently).

This argument is taken by expression and supports quasiquotation (you can unquote column names and column locations).


zoomed <- dm_nycflights13() %>%
  dm_zoom_to(flights) %>%
  group_by(month) %>%
  arrange(desc(day)) %>%
  summarize(avg_air_time = mean(air_time, na.rm = TRUE))
#> # Zoomed table: flights
#> # A tibble:     2 × 2
#>   month avg_air_time
#>   <int>        <dbl>
#> 1     1         147.
#> 2     2         149.
dm_insert_zoomed(zoomed, new_tbl_name = "avg_air_time_per_month")
#> ── Metadata ────────────────────────────────────────────────────────────────────
#> Tables: `airlines`, `airports`, `flights`, `planes`, `weather`, `avg_air_time_per_month`
#> Columns: 55
#> Primary keys: 4
#> Foreign keys: 4