Я ищу информацию о том, как другие организуют свой код R и вывод.
Моя текущая практика заключается в написании кода в блоках в текстовом файле как таковой:
#=================================================
# 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"]))
#==================================================
Затем я вставляю вывод в другой текстовый файл, обычно с некоторой аннотацией.
Проблемы с этим методом:
- Код и выходные данные явно не связаны, кроме как по дате.
- Код и выходные данные организованы в хронологическом порядке и, следовательно, может быть трудно найти.
Я подумал о том, чтобы сделать один документ Sweave со всем, так как тогда я мог составить оглавление, но, похоже, это может доставить больше хлопот, чем пользы, которую он обеспечит.
Дайте мне знать о любых ваших эффективных процедурах организации вашего R-кода и вывода, которые позволили бы осуществлять эффективный поиск и редактирование анализа.
r
project-management
DQdlM
источник
источник
sink()
или,capture.output()
возможно, ваши друзья. Утилиты для создания отчетов, такие как Hmisc , Sweave или brew , заслуживают рассмотрения (ваша точка 1). Системы контроля версий ( rcs , svn или git ) могут помочь с пунктом 2.sink()
иcapture.output()
. Замечательно.Ответы:
Вы не первый, кто задает этот вопрос.
источник
Я, например, организовать все в 4 файла для каждого проекта или анализа. (1) «код», где я храню текстовые файлы функций R. (2) 'sql' Где я храню запросы, используемые для сбора моих данных. (3) «dat», где я храню копии (обычно csv) моих необработанных и обработанных данных. (4) 'rpt' Где я храню распространенные мной отчеты.
ВСЕ мои файлы названы с использованием очень подробных имен, таких как 'analysis_of_network_abc_for_research_on_modified_buffer_19May2011'
Я также заранее пишу подробную документацию, в которой я организую гипотезу, любые предположения, критерии включения и исключения и шаги, которые я намерен предпринять, чтобы достичь результата. Все это неоценимо для повторяющихся исследований и облегчает мой ежегодный процесс постановки целей.
источник
Теперь, когда я переключился на Sweave, я больше не хочу возвращаться. Особенно, если у вас есть графики в качестве выходных данных, гораздо проще отслеживать код, используемый для создания каждого графика. Это также значительно облегчает исправление одной незначительной вещи в начале и позволяет ей смещаться по выходу без необходимости повторного запуска чего-либо вручную.
источник
.RData
файле, для ввода в документ Sweave. Тем не менее, есть также несколько отличных опций для «кэширования» результатов из фрагмента кода, чтобы он не запускался повторно.Для структурирования отдельных файлов кода .R вы также можете использовать strcode , надстройку RStudio, которую я создал для вставки разделителей кода (с необязательными заголовками) и на их основе - получения сводных данных файлов кода. Я объясню использование этого более подробно в этом сообщении в блоге .
источник