Для выпечки своего домашнего пакета R потребуется установить пакеты devtools — для удобства инсталляции и roxygen2 — для документирования.
Написание своего пакета под Windows — дело более хлопотное и здесь не рассматривается. Ходит слух, что надо установить RTools, но может и кое-что похуже. Эти инструкции относятся к macos и linux.
honey:)R.honey.R внутри папки honey/R. Если функций очень много, то их можно поместить в отдельные файлы.honey создаём файл DESCRIPTION с описанием пакета. Примерно такойPackage: honey
Type: Package
Title: R package to get honey.
Version: 0.1
Date: 2014-07-25
Author: Winni-the-Pooh
Maintainer: Winni-the-Pooh <xxx.yyy@zzz.com>
Description: This package contains functions useful to distinguish good and bad bees.
License: MIT
honey.R пишем документацию примерно такого вида:#' Evaluates the amount of good honey given the tree
#'
#' The amount of honey is estimated using the latest mcmc methods.
#'
#' @param tree the tree for which the amount of honey is estimated
#' @return numeric the estimated amount of good honey
#' @export
#' @examples
#' honey_evaluate(tree)
В папке honey создаём файл NEWS с описанием истории создания пакета. Мы его будем обновлять при выходе новых версий. Для начала он может быть очень простым:
В начале файла honey.R пишем описание пакета в целом:
#' honey
#'
#' @name honey
#' @docType package
#' @author Winnie-the-Pooh
#' @import MCMCpack ggplot2
NULL
Если пакет включает в себя наборы данных, то:
data в папке honeypot.rdahoney.R после описания пакета в целом помещаем описание данных#' Data on honey prices
#'
#' A dataset containing xxx The variables are as follows:
#'
#' \itemize{
#' \item pot the number of honey pot
#' \item price the price of the pot in rubbles
#' }
#'
#' @docType data
#' @keywords datasets
#' @name honey_price
#' @usage data(honey_price)
#' @format A data frame with xxx rows and yyy variables
NULL
require("devtools")
require("roxygen2")
setwd("honey")
dev_mode()
Что-то там изменили в функции и в её документации
Обновили документацию
document()
install("../honey")
require("honey")
dev_mode(FALSE)
Любой другой человек сможет установить наш пакет командами
require("devtools")
install_github("username/honey")
здесь вместо username подразумевается гитхабовское имя владельца пакета.
И далее использовать после обычного
require("honey")