Skip to content

Usage

# S3 method for dtplyr_step
collect(x, ...)

# S3 method for dtplyr_step
compute(x, name = unique_name(), ...)

# S3 method for dtplyr_step
as.data.table(x, keep.rownames = FALSE, ...)

# S3 method for dtplyr_step
as.data.frame(x, ...)

# S3 method for dtplyr_step
as_tibble(x, ..., .name_repair = "check_unique")

Arguments

x

A lazy_dt

...

Arguments used by other methods.

name

Name of intermediate data.table.

keep.rownames

Ignored as dplyr never preserves rownames.

.name_repair

Treatment of problematic column names

Examples

library(dplyr, warn.conflicts = FALSE)

dt <- lazy_dt(mtcars)

# Generate translation
avg_mpg <- dt %>%
  filter(am == 1) %>%
  group_by(cyl) %>%
  summarise(mpg = mean(mpg))

# Show translation and temporarily compute result
avg_mpg
#> Source: local data table [3 x 2]
#> Call:   `_DT3`[am == 1][, .(mpg = mean(mpg)), keyby = .(cyl)]
#> 
#>     cyl   mpg
#>   <dbl> <dbl>
#> 1     4  28.1
#> 2     6  20.6
#> 3     8  15.4
#> 
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results

# compute and return tibble
avg_mpg_tb <- as_tibble(avg_mpg)
avg_mpg_tb
#> # A tibble: 3 × 2
#>     cyl   mpg
#>   <dbl> <dbl>
#> 1     4  28.1
#> 2     6  20.6
#> 3     8  15.4

# compute and return data.table
avg_mpg_dt <- data.table::as.data.table(avg_mpg)
avg_mpg_dt
#>    cyl      mpg
#> 1:   4 28.07500
#> 2:   6 20.56667
#> 3:   8 15.40000

# modify translation to use intermediate assignment
compute(avg_mpg)
#> Source: local data table [3 x 2]
#> Call:
#>   _DT4 <- `_DT3`[am == 1][, .(mpg = mean(mpg)), keyby = .(cyl)]
#>   `_DT4`
#> 
#>     cyl   mpg
#>   <dbl> <dbl>
#> 1     4  28.1
#> 2     6  20.6
#> 3     8  15.4
#> 
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results