Во-первых, будучи в курсе вашего
sessionInfo()
getwd() # your R's working directory
.libPaths() # your R's library location
Step0 скачать и установить необходимые пакеты:
library(roxygen2)
library(devtools)
library(digest)
Step1 Поместите все ваши файлы, связанные с ".r" (yourfunction1.R , yourfunction2.R, yourfunction3.R) в рабочий каталог R.
Step2 Создать свой пакет скелет в рабочем каталоге вашего АиРа: Убедитесь, что нет папки с именем «yourpackage» в рабочем каталоге вашего ¨R перед запуском следующей команды. (Из консоли АиРа)
package.skeleton(name = "yourpackage", code_files = c("yourfunction1.R", "yourfunction2.R", "yourfunction3.R"), path = ".")
После запуска package.skeleton
, то yourpackage папки создаются в рабочем каталоге вашего АиРа.
Удалить Read-and-delete-me
файл из Проводника Windows.
Удалить "yourpackage-package.Rd" файл в YourR'sWorkingDirectory \ yourpackage \ папки человека
(НЕ удалить файл "yourpackage.Rd" в YourR'sWorkingDirectory \ yourpackage \ папки людей!)
Step3 в конце преамбулу файла «.R» (yourfunction.R), добавьте следующее (если вы не сделали это так, в Step1):
#' @importFrom futile.logger flog.debug
#' @export
yourfunction <- function(...) {...
Step4 в DESCRIPTION
файле вашего пакет, в разделе Imports
, добавьте:
Imports:
futile.logger(>= VersionNumber)
где VersionNumber - номер версии пакета futile.logger, который вы используете. Вы можете найти номер версии, щелкнув правой кнопкой мыши любую функцию (из вашего пакета) в обозревателе объектов RevolutionREnterprise; и в нижней части результирующего файла справки .html. Там показан номер версии пакета.
В Step2, package.skeleton автоматически производится NAMESPACE файл, содержание которого:
exportPattern("^[[:alpha:]]+")
Не обрабатывать этот NAMESPACE файл вручную.
Step5 roxygenize пакет вы хотите создать ("yourpackage")
library(roxygen2)
roxygenize("yourpackage")
После roxygenization, содержание NAMESPACE файла yourpackage автоматически преобразуется из exportPattern("^[[:alpha:]]+")
в
# Generated by roxygen2: do not edit by hand
export(yourfunction)
importFrom(futile.logger,flog.debug)
Шаг6 Создайте свой пакет:
(во-первых, удалите "src-i386" и "src-x64" fol ders (если есть) в папке YourR'sWorkingDirectoryFolder \ yourpackage из проводника Windows)
(убедитесь, что в папке YourR'sWorkingDirectory \ yourpackage \ man нет файла «yourpackage-package.Rd». Если есть, удалите его перед сборкой)
build("yourpackage")
Step7 Установите пакет:
install("yourpackage")
Step8 Убедитесь, что все идет хорошо, загрузив пакет и запустить функцию в пакете ,
library(yourpackage)
yourfunction(6,1,2) # "yourfunction" is a function in the package "yourpackage"
Step9 Убедитесь, что ваш пакет загружаемый в CRAN (Всестороннее R Network) АРХИВ (если вы хотите разделить ваш пакет):
(первый, удалить "ГРЦ-i386" и «src- x64 "(если есть) в папке YourR'sWorkingDirectoryFolder \ yourpackage из проводника Windows)
(убедитесь, что в папке YourR'sWorkingDirectory \ yourpackage \ man нет файла« yourpackage-package.Rd ». Если есть, удалите его перед проверкой)
Из команды DOS Подсказка:
Начало - cmd - Введите. Перейти в рабочий каталог АиР (рабочий каталог вашего R, как известно через getwd()) и не CRAN проверить:
cd C:\Users\User\Documents\Revolution
R CMD check yourpackage
С консоли АиР:
devtools::check("C:/Users/User/Documents/Revolution/yourpackage")
Я не понимаю. Если вы импортируете функцию, вы ее не документируете, а полагаетесь на документацию в ее исходном пакете. – Roland
Да, используйте '@ import', а также объявляйте импорт в описании – Andrie
Могу ли я получить ответ от ребята? Похоже, есть разные мнения? – statquant