在我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])
uj5u.com熱心網友回復:
你可以使用 -
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/333849.html
