这些是 dplyr mutate()
和 transmute()
泛型的方法。它们被转换为 SQL 查询的 SELECT
子句中的计算表达式。
用法
# S3 method for tbl_lazy
mutate(
.data,
...,
.by = NULL,
.keep = c("all", "used", "unused", "none"),
.before = NULL,
.after = NULL
)
参数
- .data
-
由数据库查询支持的惰性 DataFrame 。
- ...
-
<
data-masking
> 变量,或变量的函数。使用desc()
按降序对变量进行排序。 - .by
-
<
tidy-select
> (可选)仅针对此操作选择要分组的列,作为group_by()
的替代方案。有关详细信息和示例,请参阅?dplyr_by。 - .keep
-
控制
.data
中的哪些列保留在输出中。始终保留分组列和...
创建的列。-
"all"
保留.data
中的所有列。这是默认设置。 -
"used"
仅保留...
中使用的列以创建新列。这对于检查您的工作非常有用,因为它并排显示输入和输出。 -
"unused"
仅保留...
中未使用的列以创建新列。如果您生成新列,但不再需要用于生成它们的列,这非常有用。 -
"none"
不保留.data
中的任何额外列。仅保留...
创建的分组变量和列。
-
- .before, .after
-
<
tidy-select
> (可选)控制新列应出现的位置(默认设置是添加到右侧)。有关更多详细信息,请参阅relocate()
。
值
另一个tbl_lazy
。使用show_query()
查看生成的查询,并使用collect()
执行查询并将数据返回到R。
例子
library(dplyr, warn.conflicts = FALSE)
db <- memdb_frame(x = 1:5, y = 5:1)
db %>%
mutate(a = (x + y) / 2, b = sqrt(x^2L + y^2L)) %>%
show_query()
#> <SQL>
#> SELECT *, (`x` + `y`) / 2.0 AS `a`, SQRT((POWER(`x`, 2)) + POWER(`y`, 2)) AS `b`
#> FROM `dbplyr_019`
# dbplyr automatically creates subqueries as needed
db %>%
mutate(x1 = x + 1, x2 = x1 * 2) %>%
show_query()
#> <SQL>
#> SELECT *, `x1` * 2.0 AS `x2`
#> FROM (
#> SELECT *, `x` + 1.0 AS `x1`
#> FROM `dbplyr_019`
#> )
相关用法
- R dbplyr memdb_frame 在临时内存数据库中创建数据库表。
- R dbplyr backend-teradata 后端:Teradata
- R dbplyr escape 转义/引用字符串。
- R dbplyr expand.tbl_lazy 扩展 SQL 表以包含所有可能的值组合
- R dbplyr distinct.tbl_lazy 子集不同/唯一行
- R dbplyr backend-sqlite 后端:SQLite
- R dbplyr pivot_wider.tbl_lazy 将数据从长轴转向宽轴
- R dbplyr build_sql 构建 SQL 字符串。
- R dbplyr collapse.tbl_sql 计算查询的结果
- R dbplyr sql_expr 从 R 表达式生成 SQL
- R dbplyr get_returned_rows 提取并检查返回的行
- R dbplyr dbplyr_uncount “计数”数据库表
- R dbplyr count.tbl_lazy 按组计数观察值
- R dbplyr backend-odbc 后端:ODBC
- R dbplyr head.tbl_lazy 对第一行进行子集化
- R dbplyr db-quote SQL 转义/引用泛型
- 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等大神的英文原创作品 Create, modify, and delete columns。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。