次のコードで R6 オブジェクトと関数を使用します
Test = R6Class(
"test",
public = list(
y_name = NA,
initialize = function(y_name){
self$y_name = y_name
}
)
)
someAnalysis = function(tbl, y_name = "y_name", y = "a", test = Test$new("y")){
tbl = tbl %>%
filter(!!as.name(y_name) == y)
print(test$y_name)
print(tbl$y_name)
}
場合によっては、正常に実行されます。
someAnalysis(tbl)
[1] "y"
[1] "a"
ただし、次のコードでエラーが発生します
test = Test$new("y")
someAnalysis(tbl, test)
Error in as.vector(x, "symbol") :
cannot coerce type 'environment' to vector of type 'symbol'
関数外で Test オブジェクトを定義するとエラーが発生するのはなぜですか?
Test クラスと someAnalysis メソッドを使用する際のエラーを回避する方法を教えてください