我正在使用很多dplyr
功能编写一个包 - 要通过所有测试devtools::check()
,我必须.data
经常使用。一些函数嵌套在其他函数中。在下面的示例中,我需要variable
在tidyselect
上下文和标准评估中使用(在创建id)
.
df <- data.frame(
V1 = 1:8,
V2 = rep(1:4,2)
)
test <- function(df, variable){
x <- df %>%
mutate(y = {{variable}} + 1)
id <- rlang::as_name(rlang::enquo(variable))
id_eq <- outer(df[[id]], df[[id]], `==`)
list(x, id_eq)
}
如果没有在 CMD 检查中收到任何警告或注释,我不知道如何处理这个问题。如果我运行,该功能有效 test(df = df, variable = V1)
,但不适用于test(df = df, variable = .data$V1)