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 withrlang::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.45.2 [:memory:]
#> # Ordered by: x
#> x y
#> <dbl> <dbl>
#> 1 0.00842 0.435
#> 2 0.0228 0.645
#> 3 0.0251 0.468
#> 4 0.0504 0.330
#> 5 0.0617 0.709
#> 6 0.0626 0.0612
#> 7 0.0634 0.969
#> 8 0.0691 0.150
#> 9 0.0883 0.233
#> 10 0.0939 0.886
#> # ℹ more rows
df %>% arrange(x) %>% show_query()
#> <SQL>
#> SELECT `dbplyr_iU2CYNMizk`.*
#> FROM `dbplyr_iU2CYNMizk`
#> 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`