尝试了解 {} 放在管道运算符 (%>%) 之后的作用

问题描述 投票:0回答:1

在这个教程中,有以下代码:

library(repurrrsive)
library(listviewer)
library(purrr)
library(tibble)
got_chars %>% {
  tibble(
       name = map_chr(., "name"),
    culture = map_chr(., "culture"),
     gender = map_chr(., "gender"),       
         id = map_int(., "id"),
       born = map_chr(., "born"),
      alive = map_lgl(., "alive")
  )
}

并且提供的解释是:“上面的点

.
是主要输入的占位符:在本例中为got_chars。围绕
{}
的大括号
tibble()
调用防止got_chars作为第一个参数传入
tibble()

我想解释一下

{}
正在做什么,这是一个通用属性,还是
purrr
独有的属性?这是否类似于定义一个无名函数,例如
function(x){ x + 1}

r dplyr tidyverse purrr magrittr
1个回答
0
投票

这里,我们定义了一个以x为参数的匿名函数,类似于{}。

是的,花括号 {} 在此上下文中执行与定义函数时相同的操作。在 R 中,它们用于形成必须作为一个单元执行的一段代码,这是 R 中的常见做法,而不是 purrr 所独有的。

当您使用 %>% 时,{} 块的功能类似于未命名函数,它从管道获取输入并使您能够对其执行各种操作。

通过使用管道 (%>%),{} 使您能够将多个表达式作为一个匿名函数进行处理。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.