Хлопотное создание пакетов

#r

Вопрос:

У меня возникли некоторые проблемы с созданием пакета, не могли бы вы, пожалуйста, заметить мою ошибку?

Я следовал приведенной ниже инструкции :

1.Создайте функции, которые я хочу, в своем пакете

2.Откройте новый проект -> пакет R

3.Создайте столько документации R, сколько функций я реализовал, а затем поместите их в папку man

4.Нажмите Ctr Shift B, чтобы установить пакет.

Предупреждение, с которым я сталкиваюсь, заключается в следующем

Предупреждение: C:/Program Файлы/R/R-3.6.3/библиотека/mypackage/man/myfun2.Rd:62: Весь текст должен быть в разделе

Я искал в Интернете решение этой проблемы, но нашел только соответствующие инструкции, содержащие другой подход. Есть ли возможность, как это исправить ? Или другой подход с использованием других пакетов имеет решающее значение (как roxygen).

Заранее спасибо

Комментарии:

1. Какую среду разработки вы используете? Ргуи? Первая студия? Вы используете создание пакетов package ? Написание справочных страниц не составляет труда, и, например skeleton , очень красиво настраивает шаблон

2. Я думаю, что это связано с тем, что файлы шаблонов документации, которые настраиваются, содержат текст, который находится за пределами полей. В основном там есть комментарии, которые помогут вам. Вы можете найти эти файлы в man/ каталоге корневого уровня. Вы можете отредактировать их вручную, используя рекомендации от cran.r-project.org/doc/manuals/R-exts.html , или используйте пакет R, такой как roxygen . Ни один из подходов не является правильным или неправильным. Это просто зависит от личных предпочтений. Вы найдете больше онлайн-рекомендаций по способу roxygen.


Ответ №1:

Вам не следует самостоятельно писать страницы руководства. Вы должны использовать roxygen код для записи элементов руководства в файлы функций R, а затем использовать devtools::document() его для создания страниц руководства. Смотрите здесь примеры: https://keithmcnulty.github.io/r_package_training/index.html#1

Комментарии:

1. roxygen это хороший инструмент, но шаблоны, созданные с помощью различных пакетов R, предназначенных для упрощения построения не только man, но и пространства имен, ОПИСАНИЯ и т. Д. Файлы тоже хорошо работают.

2. Я согласен с Карлом. package.skeleton() руководство по расширениям R-хорошее место для начала обучения.

3. Не могли бы вы, пожалуйста, объяснить мне, почему я не должен этого делать ? Я имею в виду, каковы именно недостатки этого подхода ?

4. Вместо того, чтобы высказывать свое мнение, я процитирую книгу Хэдли Уикхема о пакетах R, которую я настоятельно рекомендую: r-pkgs.had.co.nz/man.html [roxygen2] имеет ряд преимуществ по сравнению с написанием файлов .Rd вручную: код и документация перемешаны, поэтому при изменении кода вам напоминают также обновить документацию. Roxygen2 динамически проверяет объекты, которые он документирует, поэтому вы можете пропустить некоторые стандартные шаблоны, которые в противном случае вам пришлось бы писать от руки. Он абстрагируется от различий в документировании различных типов объектов, поэтому вам нужно узнать меньше деталей.