Skip to content

memdb_frame() works like tibble::tibble(), but instead of creating a new data frame in R, it creates a table in src_memdb().

Usage

memdb_frame(..., .name = unique_table_name())

tbl_memdb(df, name = deparse(substitute(df)))

src_memdb()

Arguments

...

<dynamic-dots> A set of name-value pairs. These arguments are processed with rlang::quos() and support unquote via !! and unquote-splice via !!!. Use := to create columns that start with a dot.

Arguments are evaluated sequentially. You can refer to previously created elements directly or using the .data pronoun. To refer explicitly to objects in the calling environment, use !! or .env, e.g. !!.data or .env$.data for the special case of an object named .data.

df

Data frame to copy

name, .name

Name of table in database: defaults to a random name that's unlikely to conflict with an existing table.

Examples

library(dplyr)
df <- memdb_frame(x = runif(100), y = runif(100))
df %>% arrange(x)
#> # Source:     SQL [?? x 2]
#> # Database:   sqlite 3.42.0 [:memory:]
#> # Ordered by: x
#>          x      y
#>      <dbl>  <dbl>
#>  1 0.00536 0.0541
#>  2 0.0213  0.0100
#>  3 0.0392  0.972 
#>  4 0.0423  0.560 
#>  5 0.0578  0.714 
#>  6 0.0581  0.383 
#>  7 0.0609  0.185 
#>  8 0.0840  0.998 
#>  9 0.0965  0.470 
#> 10 0.0974  0.879 
#> # ℹ more rows
df %>% arrange(x) %>% show_query()
#> <SQL>
#> SELECT `dbplyr_018`.*
#> FROM `dbplyr_018`
#> ORDER BY `x`

mtcars_db <- tbl_memdb(mtcars)
mtcars_db %>% group_by(cyl) %>% summarise(n = n()) %>% show_query()
#> <SQL>
#> SELECT `cyl`, COUNT(*) AS `n`
#> FROM `mtcars`
#> GROUP BY `cyl`