Estou procurando informações sobre como os outros organizam seus códigos e saídas R.
Minha prática atual é escrever código em blocos em um arquivo de texto como:
#=================================================
# 19 May 2011
date()
# Correlation analysis of variables in sed summary
load("/media/working/working_files/R_working/sed_OM_survey.RData")
# correlation between estimated surface and mean perc.OM in epi samples
cor.test(survey$mean.perc.OM[survey$Depth == "epi"],
survey$est.surf.OM[survey$Depth == "epi"]))
#==================================================
Em seguida, colo a saída em outro arquivo de texto, geralmente com algumas anotações.
Os problemas com este método são:
- O código e a saída não estão explicitamente vinculados, exceto por data.
- O código e a saída são organizados cronologicamente e, portanto, podem ser difíceis de pesquisar.
Eu considerei fazer um documento Sweave com tudo, já que eu poderia criar um índice, mas isso parece ser mais complicado do que os benefícios que ele proporcionaria.
Informe-me sobre as rotinas eficazes que você tem para organizar seu código e saída R que permitiriam uma pesquisa e edição eficientes da análise.
r
project-management
DQdlM
fonte
fonte
sink()
oucapture.output()
podem ser seus amigos. Vale a pena considerar os utilitários de relatórios, como Hmisc , Sweave ou brew (seu ponto 1). Os sistemas de controle de versão ( rcs , svn ou git ) podem ajudar no ponto 2.sink()
ecapture.output()
. Isso é ótimo.Respostas:
Você não é a primeira pessoa a fazer esta pergunta.
fonte
Eu, por um lado, organize tudo em 4 arquivos para cada projeto ou análise. (1) 'código' Onde armazeno arquivos de texto das funções R. (2) 'sql' Onde mantenho as consultas usadas para coletar meus dados. (3) 'dat' Onde mantenho cópias (geralmente csv) dos meus dados brutos e processados. (4) 'rpt' Onde armazeno os relatórios que distribuí.
TODOS os meus arquivos são nomeados usando nomes muito detalhados, como 'analysis_of_network_abc_for_research_on_modified_buffer_19May2011'
Também escrevo documentação detalhada com antecedência, onde organizo a hipótese, quaisquer suposições, critérios de inclusão e exclusão e as etapas que pretendo tomar para alcançar minha entrega. Tudo isso é inestimável para pesquisas repetíveis e facilita meu processo anual de definição de metas.
fonte
Agora que mudei para Sweave, nunca mais quero voltar. Especialmente se você tiver gráficos como saída, é muito mais fácil acompanhar o código usado para criar cada gráfico. Também facilita muito a correção de uma pequena coisa no início e a repercussão na saída sem precisar executar novamente nada manualmente.
fonte
.RData
arquivo, para entrada no documento Sweave. No entanto, também existem várias ótimas opções para "armazenar em cache" os resultados de um pedaço de código, para que não seja executado novamente.Para estruturar arquivos de código .R únicos, você também pode usar strcode , um suplemento do RStudio que criei para inserir separadores de código (com títulos opcionais) e com base neles - para obter resumos dos arquivos de código. Eu explico o uso dele em mais detalhes nesta postagem do blog .
fonte