Я пишу пакет с набором функций, которые принимают объекты, подходящие для модели (например, вывод из пакетов "lmt", "lavaan" или "mirt"), и вычисляют соответствующие индексы на основе этих моделей.
Первое, что делает КАЖДАЯ функция в этом наборе, - это преобразовывает ввод в стандартизированную форму, поэтому все мои функции выглядят так:
fooIndex <- function(x) {
x <- standardizerFunction(x)
# Now, compute the fooIndex
}
Здесь standardizerFunction - это универсальная функция S3, котораяимеет методы для всех поддерживаемых входных классов.
Есть ли лучший способ реализовать эту функцию, чем вызывать standardizerFunction внутри каждой из функций, вычисляющих индексы?
РЕДАКТИРОВАТЬ: я просто хотел указать, чтоМоя «проблема» в том, что копирование и вставка одной и той же строки кода в ~ 20 различных функций кажется плохим стилем программирования, и я надеюсь на лучшее решение.