compute {dplyr} | R Documentation

## Force computation of a database query

### Description

`compute()` stores results in a remote temporary table. `collect()` retrieves data into a local tibble. `collapse()` is slightly different: it doesn't force computation, but instead forces generation of the SQL query. This is sometimes needed to work around bugs in dplyr's SQL generation.

### Usage

    compute(x, name = random_table_name(), ...)

    collect(x, ...)

    collapse(x, ...)

### Arguments

`x` | A tbl
`name` | Name of temporary table on database.
`...` | Other arguments passed on to methods

### Details

All functions preserve grouping and ordering.

### See Also

`copy_to()`, the opposite of `collect()`: it takes a local data frame and uploads it to the remote source.

### Examples

    if (require(dbplyr)) {
      mtcars2 <- src_memdb() %>%
        copy_to(mtcars, name = "mtcars2-cc", overwrite = TRUE)

      remote <- mtcars2 %>%
        filter(cyl == 8) %>%
        select(mpg:drat)

      # Compute query and save in remote table
      compute(remote)

      # Compute query bring back to this session
      collect(remote)

      # Creates a fresh query based on the generated SQL
      collapse(remote)
    }

[Package dplyr version 0.7.0 Index]