Purrr ~ 操作符记录在哪里?

J. *_*ini 10 lambda r purrr

我搜索过,??"~"但这只指向我rlang::env_bind(大概是%<~%)和base::~. 在 RStudio 中,如何找到 Purrr 的~文档?例如,如果我忘记了如何使用~两个输入,我应该在哪里查看?

Mic*_*man 7

当您在函数~上下文中使用时purrr,它将传递给as_mapper()函数,函数又传递给as_function()来自 的函数rlang。这些帮助文件包含使用此功能所需的非常基本的信息。《Advanced R Book》第 9 章第 9.22 节对此进行了进一步记录,其中有一些很好的示例,本章将继续延续这些想法。


Ani*_*yal 6

AdvanceR 有一个很好的解释(另一个答案中给出的链接)。purrr cheatsheat第一页左下角还给出了一个简短的描述(使用示例)。

在此输入图像描述

twiddle 中多个参数的使用~可以在 purrr 的不同函数中给出的文档中看到。例如地图请参阅参数描述,其中指出

.f 函数、公式或向量(不一定是原子的)。如果是函数,则按原样使用。如果是公式,例如~.x + 2,则将其转换为函数。可以通过三种方式引用参数: 对于单个参数函数,使用 。

对于两个参数函数,请使用 .x 和 .y

如需更多参数,请使用 ..1、..2、..3 等

此语法允许您创建非常紧凑的匿名函数。


此外,R在其最新版本(4.1.0)中也开始了类似的函数简写符号

R 现在提供了用于创建函数的简写符号,例如 \(x) x + 1 被解析为 function(x) x + 1。

这种速记符号在 tidyverse 之外的函数中也可能很有用,唯一的区别是twiddle这里的参数默认情况下没有命名。但同样,当一个不可见函数要在另一个函数中使用并且twiddle符号风格在这种情况下不起作用时,这种非默认命名也可能被证明是有用的。