Baseado no livro r-pkgs do Hadley
devtools
como base para criação de pacotes.devtools
, roxygen2
, testthat
, knitr
dev
do devtools
devtools::install_github('hadley/devtools')
r-base-dev
. No Ubuntu, basta digitarsudo apt-get install r-base-dev
devtools::has_devel()
.setwd()
, em um terminal linux, cd
, etc).devtools::setup()
.Essa é a estrutura mínima para criar um pacote.
DESCRIPTION
: Metadados do pacote.NAMESPACE
: Trata das interações do seu pacote com outros pacotes.R/
: Pasta onde fica os códigos em Rman/
: Pasta onde fica a documentaçãoxxx.Rproj
: Seu projeto (não é necessário).DESCRIPTION
(>= 0.3)
, devtools::numeric_version()
Depends
(versões de R).Authors@R
Imports
, Suggests
, e usar o ::
.devtools::use_package('xxxxxx')
R
fica aquiView()
library()
, require()
nem source()
, setwd()
, etc. devtools::document()
#'
roxygen
-> chamar devtools::document()
-> visualizar documentação com ?
-> Adicionar documentação em roxygen
-> ...@tag
(ex: @param
).testthat
, do Hadley.devtools::use_testthat()
devtools::test()
-> repita. library(stringr) context("String Length") test_that("str_length is a number of characters", { expect_equal(str_length('a'), 1) expect_equal(str_length('ab'), 2) expect_equal(str_length('abc'), 3) })
imports
e exports
.requireNamespace()
dá load e não attach.devtools::document()
e roxygen2
.@export
para fazer sua função ficar disponível para o usuário via ::
@importFrom pkg fun
para importar funções no NAMESPACE (não recomendável).RData
) na pasta data/
. Utilizar devtools::use_data()
.R/sysdata.rda
.inst/extdata
.data-raw
. Utilizar devtools::use_data_raw()
.@format
e @source
.@export
.RCpp
C
e C++
foge do escopo do cursodevtools::load_all()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.