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 makepara 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 rsuiteconté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 rsuitegravará todos os binários do pacote que foram indicados nos DESCRIPTIONarquivos dos pacotes . Assim, isso faz, por si só, você projetar um tempo acumulado totalmente reproduzível.
rsuitevem com um cliente para todos os sistemas operacionais. Eu testei todos eles. Mas você também pode instalá-lo como um addinpara o RStudio.
rsuitetambém permite criar uma condainstalaçã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 Dockercontêiner com o seu projeto pronto para execução.
Eu tenho experimentado muito rsuiteprocurando 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- bookdownbooks. 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 rsuiteestrutura. Agora, não preciso me preocupar em atualizar meu ambiente R global, porque o projeto possui seu próprio conjunto de pacotes na deploymentpasta.
A próxima coisa que fiz foi criar projetos de aprendizado de máquina, mas no rsuitecaminho. 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 rsuitenã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 RStudionos permita gerar projetos de orquestração, como rsuiteacontece 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