當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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.。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。