3

関数を使用したいカスタム関数を作成しようとしていcor.testますが、必要な引数の引用符を外して作業式を作成するのに問題があります。

これが私が現在持っているもので、動作しません-

library(rlang)

# custom function
tryfn <- function(data, x, y) {
  stats::cor.test(
    formula = rlang::new_formula(NULL, {{ x }} + {{ y }}),
    data = data,
    method = "pearson"
  )
}

# using the function
tryfn(mtcars, wt, mpg)
#> Error in rlang::new_formula(NULL, {: object 'wt' not found

関数環境で数式の引用符を外す必要がなければうまくいくように見えるので、この方法を試しました。

# without unquoting inside another function
print(rlang::new_formula(NULL, quote(x + y)))
#> ~x + y

これを実装する方法についてのアイデアはありますか?

4

2 に答える 2