Я пытаюсь передать аргументы в виде списка в метод.Я создаю методы вещи для передачи на data.frame.Пример:
dfApply <- function(df, ...) {
UseMethod("dfApply", df)
}
dfApply.sample <- function(df, size, ...) {
# Stuff
df <- sample_frac(df, size = size)
return(df)
}
Теперь, если я вызову функцию:
args <- list(size = 0.5)
class(df) <- c("sample", class(df))
df <- dfApply(df, args)
Метод все еще получает его в виде списка ().
Есть ли способпередать аргументы как это?
РЕДАКТИРОВАТЬ: Как уже упоминалось в комментариях, do.call()
решает проблему (на данный момент), но я должен определить каждый аргумент в args
:
args <- list(df = df, size = 0.5)
class(df) <- c("sample", class(df))
df <- do.call(dfApply, args)
Это мудрый способ реализации методов?Не кажется правильным.