Хорошо, сначала попытаемся написать пакет R, и я застрял. Вот как я создаю пакет:
package.skeleton("pkg",code_files=some.filenames)
roxygenize("okg")
Я использую roxygen2 и имею следующий импорт в моем файле "pkg-package.R":
@import data.table zoo lubridate
С терминала я запускаю:
R CMD build pkg
R CMD check pkg
R CMD install pkg
Во время проверки я получаю следующие предупреждения:
** подготовка пакета для ленивой загрузки
Предупреждение: замена предыдущего часа импорта при загрузке lubridate
Предупреждение: замена предыдущего импорта "mday при загрузке" lubridate
Предупреждение: замена предыдущего месяца импорта при загрузке lubridate
Предупреждение: замена предыдущего импорта "wday при загрузке" lubridate
Предупреждение: замена предыдущей недели импорта при загрузке "lubridate"
Предупреждение: замена предыдущего импорта "yday при загрузке" lubridate
Предупреждение: замена предыдущего года импорта при загрузке lubridate
** help
* установка справочных индексов
** построение индексов пакетов...
** тестирование, если установленный пакет может быть загружен
Предупреждающие сообщения:
1: замена предыдущего часа импорта при загрузке lubridate
2: замена предыдущего импорта "mday при загрузке" lubridate
3: замена предыдущего месяца импорта при загрузке lubridate
4: замена предыдущего импорта "wday при загрузке" lubridate
5: замена предыдущей недели импорта при загрузке lubridate
6: замена предыдущего импорта "yday при загрузке" lubridate
7: замена предыдущего года импорта при загрузке lubridate
Я действительно не уверен, что делать с ними, но они кажутся типичными предупреждениями о перезаписи вещей в пространстве имен. В любом случае, я могу установить пакет, но вот что происходит, когда я пытаюсь его использовать:
Библиотека (PKG)
Переопределение + и - методы для POSIXt, Date и difftime
Предупреждающие сообщения:
1: замена предыдущего часа импорта при загрузке lubridate
2: замена предыдущего импорта "mday при загрузке" lubridate
3: замена предыдущего месяца импорта при загрузке lubridate
4: замена предыдущего импорта "wday при загрузке" lubridate
5: замена предыдущей недели импорта при загрузке lubridate
6: замена предыдущего импорта "yday при загрузке" lubridate
7: замена предыдущего года импорта при загрузке lubridate
d < - my.function(arg1, arg2)
Ошибка в MATCH (x, x): не удалось найти функцию "MATCH"
Используя traceback(), я узнал, что это генерируется во время вызова merge.zoo(). Поэтому я попытался загрузить зоопарк вручную во время сеанса R и voila, после чего функция работает правильно без сообщения об ошибке.
Я попытался изменить порядок импорта вручную как в файле "pkg-package.R", так и в NAMESPACE. Однако, на основании чего-то, что я нашел в другом месте, я не добавил никаких Импорт или Зависит от ОПИСАНИЯ. Помощь?