Я недавно (очень) начал изучать функции S3 в R. Я работаю в функции, где я предвижу наличие общих операций между различными методами. Не знаете, как это должно быть сделано. Например:Общие операции между несколькими методами S3
myfun <- function (x) {
UseMethod("myfun")
}
myfun.numeric <- function(x) {
a<-x+5
b<-a^2
c<-b+4
d<-c-3
d
}
myfun.character <- function(x) {
a<-as.numeric(x)+9
b<-a^2
c<-b+4
d<-c-3
d
}
myfun("3")
myfun(3)
Функция в это время не слишком длинная. Я предполагаю, что технически я могу иметь функцию, которая выполняет часть, представленную буквой «a», затем имеет общую функцию, выполняющую шаги «b», «c» и «d». В некоторых случаях функции могут быть довольно короткими, и наличие дополнительной функции, по-видимому, не является лучшей практикой. Что обычно делается в таких случаях?
Это выглядит довольно стандартно, если нужно перегрузить функцию. Опасность может возникнуть, если вы соблазнили пользователей вашего кода в ситуациях, когда факторы обрабатывались, считая их численными. –