Também tenho procurado o Santo Graal do fluxo de trabalho certo para montar um projeto de grande porte. Eu encontrei no ano passado este pacote chamado rsuite e, certamente, era o que eu procurava. Este pacote R foi desenvolvido explicitamente para a implantação de grandes projetos de R, mas descobri que ele pode ser usado para projetos R menores, médios e grandes. Vou dar links para exemplos do mundo real em um minuto (abaixo), mas primeiro eu quero explicar o novo paradigma de construção de projectos de I com rsuite
.
Nota. Não sou o criador ou desenvolvedor do rsuite
.
Temos feito projetos errados com o RStudio; o objetivo não deve ser a criação de um projeto ou pacote, mas de um escopo maior. No rsuite, você cria um superprojeto ou projeto mestre, que mantém os projetos e pacotes R padrão, em todas as combinações possíveis.
Por ter um superprojeto R, você não precisa mais do Unix make
para gerenciar os níveis mais baixos dos projetos R; você usa scripts R na parte superior. Deixe-me te mostrar. Ao criar um projeto mestre do rsuite, você obtém esta estrutura de pastas:
A pasta R
é onde você coloca seus scripts de gerenciamento de projetos, os que serão substituídos make
.
A pasta packages
é a pasta onde rsuite
contém todos os pacotes que compõem o superprojeto. Você também pode copiar e colar um pacote que não está acessível na Internet, e o rsuite também o compilará.
a pasta deployment
é onde rsuite
gravará todos os binários do pacote que foram indicados nos DESCRIPTION
arquivos dos pacotes . Assim, isso faz, por si só, você projetar um tempo acumulado totalmente reproduzível.
rsuite
vem com um cliente para todos os sistemas operacionais. Eu testei todos eles. Mas você também pode instalá-lo como um addin
para o RStudio.
rsuite
também permite criar uma conda
instalação isolada em sua própria pasta conda
. Este não é um ambiente, mas uma instalação física do Python derivada do Anaconda em sua máquina. Isso funciona em conjunto com os R's SystemRequirements
, dos quais você pode instalar todos os pacotes Python desejados, a partir de qualquer canal conda que desejar.
Você também pode criar repositórios locais para extrair pacotes R quando estiver offline ou desejar criar a coisa toda mais rapidamente.
Se desejar, também é possível criar o projeto R como um arquivo zip e compartilhá-lo com os colegas. Ele será executado, desde que seus colegas tenham a mesma versão R instalada.
Outra opção é construir um contêiner de todo o projeto no Ubuntu, Debian ou CentOS. Portanto, em vez de compartilhar um arquivo zip com a construção do seu projeto, você compartilha todo o Docker
contêiner com o seu projeto pronto para execução.
Eu tenho experimentado muito rsuite
procurando a reprodutibilidade total e evito depender dos pacotes que se instala no ambiente global. Isso está errado porque, assim que você instala uma atualização de pacote, o projeto, mais frequentemente, para de funcionar, especialmente aqueles pacotes com chamadas muito específicas para uma função com determinados parâmetros.
A primeira coisa que comecei a experimentar foi com e- bookdown
books. Eu nunca tive a sorte de ter um livro para sobreviver ao teste do tempo por mais de seis meses. Então, o que fiz foi converter o projeto original de bookdown para seguir a rsuite
estrutura. Agora, não preciso me preocupar em atualizar meu ambiente R global, porque o projeto possui seu próprio conjunto de pacotes na deployment
pasta.
A próxima coisa que fiz foi criar projetos de aprendizado de máquina, mas no rsuite
caminho. Um mestre, orquestrando o projeto na parte superior e todos os subprojetos e pacotes para estar sob o controle do mestre. Realmente muda a maneira como você codifica com R, tornando-o mais produtivo.
Depois disso, comecei a trabalhar em um novo pacote chamado rTorch
. Isso foi possível, em grande parte, por causa de rsuite
; permite que você pense e se torne grande.
Um conselho embora. Aprender rsuite
não é fácil. Por apresentar uma nova maneira de criar projetos de R, é difícil. Não desanime nas primeiras tentativas, continue subindo a ladeira até você conseguir. Requer conhecimento avançado do seu sistema operacional e do seu sistema de arquivos.
Espero que um dia RStudio
nos permita gerar projetos de orquestração, como rsuite
acontece no menu. Seria maravilhoso.
Ligações:
Repo RSuite GitHUb
bookdown r4ds
keras e tutorial brilhante
moderndive-book-rsuite
interpretable_ml-rsuite
IntroMachineLearningWithR-rsuite
clark-intro_ml-rsuite
hyndman-bookdown-rsuite
statistics_rethinking-rsuite
fread-benchmarks-rsuite
dataviz-rsuite
tutorial-segmentação-h2o-varejo
telco-customer-churn-tutorial
sclerotinia_rsuite