Criar um pacote do R com o devtools
Para criar um pacote do R, vamos utilizar o pacote devtools.
library(devtools)
Iniciando o projeto
Iniciamos criando um projeto cujo nome é o mesmo nome do pacote:
create_package("C:/devgit/nomedopacote")
Isso vai criar um novo projeto no caminho indicado e já ai carregar o novo projeto em uma nova sessão do RStudio.
Use o git
Para usar o git no desenvolvimento do pacote, existe a opção use_git()
use_git()
Aceite para fazer o commit dos primeiros arquivos e reiniciar o RStudio para carregar a aba do git.
Escreva sua primeira função
Crie sua primeira função com o comando use_r()
use_r("fun")
em que fun
é o nome da função. Esse comando adiciona um arquivo com o mesmo nome da função dentro do subdiretório R.
Sempre faça o commit das suas alterações, conforme seu fluxo de trabalho.
Alternativamente, é possível criar o arquivo diretamente dentro do subdiretório R.
Documente sua função
Use os comentários do tipo Roxygen com o atalho Ctrl+Alt+Shift+R.
Na seção dos comentários, também adicione as funções externas utilizadas, por exemplo:
#' @importFrom stats lm
#' @importFrom magrittr %>%
Use uma licença
Para distribuir seu pacote, é importante escolher uma licença. As mais populares são:
use_mit_license()
licença mais permissivause_gpl3_license()
trabalhos originados devem ser distribuídos sob a mesma condição.use_cc0_license()
licença de domínio público
Edite o arquivo DESCRIPTION
- Preencha seus dados de autoria do pacote.
- Descreva o pacote nos campos Title e Description.
Use GitHub
Após fazer todos os primeiros commit’s, suba seu pacote para o GitHub com o comando use_github()
Use README
O arquivo README é a página inicial do pacote no GitHub. A função use_readme_rmd()
cria o arquivo README.Rmd, em que é possível descrever o pacote e mostrar alguns exemplos de uso. também é possível usar código R neste arquivo.
A melhor forma de renderizar o arquivo README.Rmd é com a funçao build_readme()
.
Use news
O comando use_news_md()
cria um arquivo NEWS.md. Neste arquivo, podemos divulgar todas as alterações feitas no pacote a cada lançamento de uma nova versão.
Numeração da versão
Sempre que uma nova versão for lançada, a numeração deve ser incrementada. O comando use_version()
incrementa a numeraçao no arquivo DESCRIPTION.
As opções são:
- major –> 1.0.0 - incrementa o primeiro número
- minor –> 0.1.0 - incrementa o segundo número
- patch –> 0.0.1 - incrementa o terceiro número
- dev –> 0.0.0.9001 - incrementa o quarto número (se houver)
Similar, o comando use_dev_version()
incrementa para uma versão de desenvolvimento, por exemplo, de 1.0.0 para 1.0.0.9000.
Dicas
- Sempre faça o check do pacote frequentemente quando estiver desenvolvendo. Isso facilita encontrar possíveis erros. Use o comando
check()
ou o atalho Ctrl+Shift+E - Use
devtools::load_all(".")
para testar as funções durante o desenvolvimento. Alternativamente, o atalho é Ctrl+Shift+L Esta função disponibiliza as funções simulando o processo de instalar e carregar o pacote. - Para instalar seu pacote no diretório local, use o comando
devtools::install()
- Muito mais informações em https://r-pkgs.org/index.html