Ответ 1
Это почти идеальное место для вашего пакета. Я говорю почти потому, что есть исключение из каждого правила. Прочтите раздел ниже для получения более подробной информации и рекомендации по передовой практике из руководства по эксплуатации R
https://stat.ethz.ch/R-manual/R-devel/library/base/html/ns-hooks.html
Хорошая практика Загрузка пространства имен должна, по возможности, быть тихой, с сообщениями запуска, предоставленными.onAttach. Эти сообщения (и любые существенные из.onLoad) должны использовать packageStartupMessage, чтобы их можно было отключить, где они были бы отвлекающими.
Не должно быть вызовов в библиотеку и не требуется в этих перехватах. Способ загрузки пакета другими пакетами осуществляется через поле Depends в файле DESCRIPTION: это гарантирует, что зависимость документирована, а пакеты загружены в правильном порядке. Загрузка пространства имен не должна изменять путь поиска, поэтому вместо привязки пакета зависимость пространства имен от другого пакета должна быть достигнута путем (выборочно) импорта из другого пространства имен пакетов.
Использование библиотеки с аргументом помогает отображать основную информацию о пакете, должно использовать формат для объекта информации об вычислительном пакете и передавать его в пакетStartupMessage.
Не должно быть никаких вызовов установленным.пакетам в код запуска: он потенциально очень медленный и может не работать в версиях R до 2.14.2, если установка пакета происходит параллельно. См. Справочную страницу для альтернатив.
Скомпилированный код должен быть загружен (например, через library.dynam) в.onLoad или директивой useDynLib в файле NAMESPACE, а не в.onAttach. Аналогично, скомпилированный код не следует выгружать (например, через library.dynam.unload) в.Last.lib или.onDetach, только в.onUnload.