#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 динамически проверяет объекты, которые он документирует, поэтому вы можете пропустить некоторые стандартные шаблоны, которые в противном случае вам пришлось бы писать от руки. Он абстрагируется от различий в документировании различных типов объектов, поэтому вам нужно узнать меньше деталей.