后续:R中filter输入的一个函数的识别?
Follow-up: Recognition of a function input by filter in R?
在我下面的 foo()
调用中,有没有办法在函数内部识别 dot_first
,它是 ...
中捕获的第一个元素?
目前,无法识别 dot_first
。
library(tidyverse)
library(rlang)
foo <- function(...){
dots <- rlang::list2(...)
dot_first <- names(dots)[1]
dat <- expand_grid(...)
dat %>%
filter(!!dot_first != 1)
}
foo(study = 1:2, test = LETTERS[1:2])
您可以使用-
library(tidyverse)
foo <- function(...){
dots <- list(...)
dot_first <- names(dots)[1]
dat <- expand_grid(...)
dat %>%
filter(.data[[dot_first]] != 1)
}
foo(study = 1:2, test = LETTERS[1:2])
# study test
# <int> <chr>
#1 2 A
#2 2 B
在我下面的 foo()
调用中,有没有办法在函数内部识别 dot_first
,它是 ...
中捕获的第一个元素?
目前,无法识别 dot_first
。
library(tidyverse)
library(rlang)
foo <- function(...){
dots <- rlang::list2(...)
dot_first <- names(dots)[1]
dat <- expand_grid(...)
dat %>%
filter(!!dot_first != 1)
}
foo(study = 1:2, test = LETTERS[1:2])
您可以使用-
library(tidyverse)
foo <- function(...){
dots <- list(...)
dot_first <- names(dots)[1]
dat <- expand_grid(...)
dat %>%
filter(.data[[dot_first]] != 1)
}
foo(study = 1:2, test = LETTERS[1:2])
# study test
# <int> <chr>
#1 2 A
#2 2 B