gpt4 book ai didi

r - 如何在 R 中重用长链管道运算符的一部分?

转载 作者:行者123 更新时间:2023-12-03 21:08:09 26 4
gpt4 key购买 nike

我有一组管道操作符链 (%>%) 用不同的数据集做不同的事情。
例如:

dataset %>%
mutate(...) %>%
filter(...) %>%
rowwise() %>%
summarise() %>%
etc...
如果我想重用这些链的某些部分,有没有办法做到这一点,而不仅仅是将它包装成一个函数?
例如(显然是伪代码):
subchain <- filter(...) %>%
rowwise() %>%
summarise()

# and then instead of the chain above it would be:
dataset %>%
mutate(...) %>%
subchain() %>%
etc...

最佳答案

在语法上类似于所需的伪代码:

library(dplyr)

subchain <- . %>%
filter(mass > mean(mass, na.rm = TRUE)) %>%
select(name, gender, homeworld)

all.equal(
starwars %>%
group_by(gender) %>%
filter(mass > mean(mass, na.rm = TRUE)) %>%
select(name, gender, homeworld),
starwars %>%
group_by(gender) %>%
subchain()
)
使用点 . 作为管道序列的开始。这实际上接近于函数包装,但这被称为 magrittr 函数序列。查看 ?functions 并尝试 magrittr::functions(subchain)

关于r - 如何在 R 中重用长链管道运算符的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65559994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com