当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dbplyr memdb_frame 在临时内存数据库中创建数据库表。


memdb_frame() 的工作方式与 tibble::tibble() 类似,但它不是在 R 中创建新的 DataFrame ,而是在 src_memdb() 中创建一个表。

用法

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

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

src_memdb()

参数

...

< dynamic-dots > 一组name-value 对。这些参数使用 rlang::quos() 进行处理,并支持通过 !! 取消引用和通过 !!! 取消引用拼接。使用 := 创建以点开头的列。

参数按顺序进行评估。您可以直接引用以前创建的元素或使用.data代词。要显式引用调用环境中的对象,请使用 !! 或 .env,例如!!.data.env$.data 用于名为 .data 的对象的特殊情况。

df

要复制的 DataFrame

name, .name

数据库中表的名称:默认为随机名称,不太可能与现有表冲突。

例子

library(dplyr)
df <- memdb_frame(x = runif(100), y = runif(100))
df %>% arrange(x)
#> # Source:     SQL [?? x 2]
#> # Database:   sqlite 3.41.2 [:memory:]
#> # Ordered by: x
#>         x      y
#>     <dbl>  <dbl>
#>  1 0.0207 0.903 
#>  2 0.0355 0.346 
#>  3 0.0435 0.730 
#>  4 0.0681 0.781 
#>  5 0.0686 0.439 
#>  6 0.0754 0.731 
#>  7 0.0760 0.459 
#>  8 0.0842 0.0304
#>  9 0.0923 0.769 
#> 10 0.102  0.172 
#> # ℹ more rows
df %>% arrange(x) %>% show_query()
#> <SQL>
#> SELECT *
#> 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`
源代码:R/memdb.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Create a database table in temporary in-memory database.。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。