Com base no post Como gerenciar com eficiência um projeto de análise estatística e o ProjectTemplatepacote em R ...
P: Como você constrói sua estrutura de diretórios estatísticos de projetos quando vários idiomas se destacam (por exemplo, R AND Splus)?
A maioria das discussões sobre este tópico foi limitada a projetos que usam principalmente um idioma. Estou preocupado em como minimizar a negligência, a confusão e a quebra ao usar vários idiomas.
Incluí abaixo minha estrutura de projeto atual e métodos para fazer as coisas. Uma alternativa poderia ser a de código separado para que eu tenha ./Re ./Splusdiretórios --- contendo cada uma os seus próprios /lib, /src, /util, /tests, e /mungediretórios.
P: Qual abordagem estaria mais próxima das "melhores práticas" (se houver alguma)?
- / data - dados compartilhados entre projetos
- / libraries - scripts compartilhados entre projetos
- / projects / myproject - meu diretório de trabalho. Atualmente, se eu usar vários idiomas, eles compartilham esse local como seu diretório de trabalho.
- ./data/ - dados específicos
/myprojecte links simbólicos para dados em/data - ./cache/ - áreas de trabalho em cache (por exemplo,
.RDataarquivos salvos usandosave.image()no R ou.sddarquivos salvos usandodata.dump()no Splus) - ./lib/ - arquivos principais do projeto. O mesmo em todos os projetos. Um projeto de R será executado via
source("./lib/main.R")que por sua vez é executadoload.R,clean.R,test.R,analyze.R,.report.R. Atualmente, se vários idiomas estão sendo usados, por exemplo, Splus além de R, eu vou jogarmain.ssc,clean.sscetc. neste diretório também. Não tenho certeza se eu gosto disso. - ./src/ - funções específicas do projeto. Coletou uma função por arquivo.
- ./util/ - funções gerais eventualmente a serem empacotadas. Coletou uma função por arquivo.
- ./tests/ - arquivos para executar casos de teste. Usado por
./lib/test.R - ./munge/ - arquivos para limpeza de dados. Usado por
./lib/clean.R - ./figures/ - tabelas e resultados de figuras
./lib/report.Ra serem usados no relatório final - ./report/ -
.texarquivos e links simbólicos para arquivos em./figures - ./presentation/ -
.texarquivos para apresentações (geralmente aBeamerclasse) - ./temp/ - local para scripts temporários
- ./LEIA-ME
- ./FAÇAM
- ./.RData - para armazenar áreas de trabalho do projeto R
- ./.Data/ - para armazenar áreas de trabalho do projeto S