Baseado no livro r-pkgs do Hadley
devtools como base para criação de pacotes.devtools, roxygen2, testthat, knitrdev do devtoolsdevtools::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@RImports, 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.RCppC 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.