2016-05-09 1 views
1

Я пишу много функций, и я пытаюсь к документу с помощью roxygen2Что roxygen я должен поставить, когда я использую функцию другого пакета в моей функции

Я использую futile.logger пакет много, говорят, я использую функцию flog.debug в функции. Что следует использовать для документирования @*?

+1

Я не понимаю. Если вы импортируете функцию, вы ее не документируете, а полагаетесь на документацию в ее исходном пакете. – Roland

+1

Да, используйте '@ import', а также объявляйте импорт в описании – Andrie

+0

Могу ли я получить ответ от ребята? Похоже, есть разные мнения? – statquant

ответ

1

Во-первых, будучи в курсе вашего

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") 
Смежные вопросы