Я разрабатываю пакет, который предоставляет класс S3 с именем "Foo".Он также предоставляет метод «as» для приведения его к (чужому) классу S4 с именем «Bar».Мой код выглядит так:
#' ...
setOldClass("Foo")
#' ...
setAs("Foo", "SpatialPointsDataFrame", function(from) {
# do stuff and return a SpatialPointsDataFrame
})
edit Я пробовал это:
#' ...
#' @name as
#' @export
setAs("Foo", "SpatialPointsDataFrame", function(from) {
# do stuff and return a SpatialPointsDataFrame
})
, но потом я получаю это от R CMD CHECK:
проверка возможности загрузки пространства имен с указанными зависимостями ... ПРЕДУПРЕЖДЕНИЕ Ошибка в namespaceExport (ns, export): неопределенный экспорт: as Вызовы: loadNamespace -> namespaceExport Выполнение остановлено
Пространство имендолжна быть в состоянии загружаться только с загруженным базовым пространством имен: в противном случае, если пространство имен загружается сохраненным объектом, сеанс не сможет запуститься.
Возможно, некоторые импорты должны быть объявлены в файле NAMESPACE.
в отдельном файле .R, у меня есть:
#' @importClassesFrom sp SpatialPointsDataFrame
Я использую пакет devtools hadley, так что я думаю, что это roxygen2.Вот что я делаю:
R> document("MyPackage")