gpt4 book ai didi

r - 在 R 中为管道中的多个操作枚举变量时 DRY

转载 作者:行者123 更新时间:2023-12-02 04:27:10 24 4
gpt4 key购买 nike

我想知道是否有一种 DRY 方式来编写以下管道:

library(tidyverse)
data(iris)
iris %>% arrange(Sepal.Width, Species) %>% select(Sepal.Width, Species)

这非常有效,但如果需要更改代码,我有两个地方需要编辑。

有没有办法重写代码,使变量在管道中只列出一次?

我希望有一种方法可以存储变量列表 v 然后调用:

iris %>% arrange(v) %>% select(v)

我尝试使用quoteSymNon Standard Evaluation 的许多其他功能为了存储变量列表无济于事。


所有这些答案对这个问题都没有帮助:

r - how to use a variable in a variable

Using a variable to refer to another variable in R?

R expression variable list

r - how to use a variable in a variable

最佳答案

我想你要找的是:

library(tidyverse)
vars <- quos(Sepal.Width, Species)

iris %>% arrange(!!!vars) %>% select(!!!vars)

我假设你的意思是 select 而不是 filter 因为 iris %>% arrange(Sepal.Width, Species) %>% filter( Sepal.Width, Species) 抛出错误

关于r - 在 R 中为管道中的多个操作枚举变量时 DRY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53454013/

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