R: Расширить метод S3, определенный в другом пакете - PullRequest
1 голос
/ 02 апреля 2019

Скажем, пакет A определяет и документирует foo() и реализует его для bar1 объектов.

В новом пакете B я хотел бы расширить этот метод и добавить его поддержку для bar2 объектов.

В настоящее время я начинаю с реэкспорта метода:

#' @rdname foo
#' @importFrom A foo
#' @export
A::foo

А затем продолжил расширять свое поведение:

#' @rdname foo
#' @method foo bar2
#' @export
foo.bar2 <- function(x, newparam = 3.14, ...){
  dosomething(x, newparam)
}

К сожалению, похоже, что это создает конфликт при проверке devtools, который возвращает следующее предупреждение:

> checking Rd metadata ... WARNING
  Rd files with duplicated name 'reexports':
    'foo.Rd'
  Rd files with duplicated alias 'reexports':
    'foo.Rd'

Таким образом, мне интересно, что это лучший способ расширения метода без создания конфликта в определении или документации? Могу ли я сделать это без необходимости Зависеть от пакета А? Спасибо!

...