这是 tidyr uncount()
泛型的方法。它使用临时表,因此您的数据库用户需要创建临时表的权限。
参数
- data
-
由数据库查询支持的惰性 DataFrame 。
- weights
-
权重向量。在
data
上下文中评估;支持准引号。 - .remove
-
如果
TRUE
和weights
是data
中的列名称,则删除该列。 - .id
-
提供一个字符串来创建一个新变量,该变量为每个创建的行提供唯一的标识符。
例子
df <- memdb_frame(x = c("a", "b"), n = c(1, 2))
dbplyr_uncount(df, n)
#> # Source: SQL [3 x 1]
#> # Database: sqlite 3.41.2 [:memory:]
#> x
#> <chr>
#> 1 a
#> 2 b
#> 3 b
dbplyr_uncount(df, n, .id = "id")
#> # Source: SQL [3 x 2]
#> # Database: sqlite 3.41.2 [:memory:]
#> x id
#> <chr> <int>
#> 1 a 1
#> 2 b 1
#> 3 b 2
# You can also use constants
dbplyr_uncount(df, 2)
#> # Source: SQL [4 x 2]
#> # Database: sqlite 3.41.2 [:memory:]
#> x n
#> <chr> <dbl>
#> 1 a 1
#> 2 b 2
#> 3 a 1
#> 4 b 2
# Or expressions
dbplyr_uncount(df, 2 / n)
#> # Source: SQL [3 x 2]
#> # Database: sqlite 3.41.2 [:memory:]
#> x n
#> <chr> <dbl>
#> 1 a 1
#> 2 b 2
#> 3 a 1
相关用法
- R dbplyr dbplyr-slice 使用行的位置对行进行子集化
- R dbplyr db-quote SQL 转义/引用泛型
- R dbplyr distinct.tbl_lazy 子集不同/唯一行
- R dbplyr backend-teradata 后端:Teradata
- R dbplyr escape 转义/引用字符串。
- R dbplyr expand.tbl_lazy 扩展 SQL 表以包含所有可能的值组合
- R dbplyr backend-sqlite 后端:SQLite
- R dbplyr pivot_wider.tbl_lazy 将数据从长轴转向宽轴
- R dbplyr build_sql 构建 SQL 字符串。
- R dbplyr mutate.tbl_lazy 创建、修改和删除列
- R dbplyr collapse.tbl_sql 计算查询的结果
- R dbplyr sql_expr 从 R 表达式生成 SQL
- R dbplyr get_returned_rows 提取并检查返回的行
- R dbplyr count.tbl_lazy 按组计数观察值
- R dbplyr backend-odbc 后端:ODBC
- R dbplyr head.tbl_lazy 对第一行进行子集化
- R dbplyr copy_inline 在 dbplyr 查询中使用本地 DataFrame
- R dbplyr backend-oracle 后端:甲骨文
- R dbplyr backend-snowflake 后端:雪花
- R dbplyr lahman 缓存并检索 Lahman 棒球数据库的 src_sqlite。
- R dbplyr backend-redshift 后端:红移
- R dbplyr partial_eval 部分评估表达式。
- R dbplyr group_by.tbl_lazy 按一个或多个变量分组
- R dbplyr tbl_lazy 创建本地惰性 tibble
- R dbplyr backend-hana 后端:SAP HANA
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 "Uncount" a database table。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。