Я пишу пакет R, и я хотел бы использовать одну функцию из другого пакета (plotKML
). Этот внешний пакет имеет так много зависимостей, что я не хочу, чтобы мои пользователи были загружены и т. Д. Если я использую importFrom(plotKML, readGPX)
в файле NAMESPACE, он загрузит все plotKML
в пространство имен и загрузит все зависимости, которые я не хочу.Импорт одной функции в пакет R (без импорта)
Итак, вопрос заключается в следующем: целесообразно ли копировать код для одной функции, которая мне нужна (чтобы все зависимости в этой функции были включены)? Если да, то что подходит для атрибуции/документации - копирую ли я документацию из оригинала?
Существует большое обсуждение этой проблемы в this post, и ответ Брайана Диггса очень полезен. Но он заканчивается словами: «Для вашего примера вам может быть лучше скопировать код для memisc :: описать в ваш пакет, хотя этот подход имеет свои проблемы и оговорки», поэтому я остаюсь с некоторой неопределенностью относительно того, какие проблемы и насколько это уместно с точки зрения атрибуции.
Выполняется ли код для этой функции без зависимостей? – Dason
Функция зависит от некоторых функций в пакете XML, которые мне нужно импортировать в любом случае, поэтому никаких проблем. В противном случае он не требует функций из любого другого пакета, указанного в импорте (требуется почти 20 пакетов!), См. [Здесь] (http://cran.r-project.org/web/packages/plotKML/index.html) для список, который требует plotKML. – ZRoss
Я бы предположил, что большинство ваших пользователей установили хотя бы половину пакетов, из которых в любом случае импортируется plotKML. – Roland