Я пишу пакет, в котором я представляю класс, который, помимо прочего, содержит фрейм данных. Я бы хотел, чтобы пользователь мог использовать некоторые стандартные функции в этом фрейме данных, такие как table()
и, возможно, другие, но, поскольку они не определены как методы в base
, я не вижу другого способа достижения это чем их маскировать вот так:
table <- function(...) UseMethod("table")
table.default <- function(...) base::table(...)
table.myclass <- function(data,...) {
… some custom code of mine …
}
Это хорошая практика, или мне лучше ввести совершенно новые имена, такие как makeTable()
и так далее? С одной стороны, я не хочу добавлять к тому, сколько пользователей нужно учить, но с другой стороны мне не кажется, что каждый раз, когда вы видите, «следующий объект маскируется из« package: base »:» загрузка библиотеки принесет моему пакету большое доверие.