Я рекомендую рабочий процесс Джоша Райха Load, Clean, Func, Do из в предыдущем вопросе .
Кроме того, я рекомендую следовать руководствам по кодированию, таким как Google's R Style Guide . Использование руководства по стилю кодирования значительно упрощает чтение кода позже.
Я полностью согласен с существующими ответами, особенно в отношении использования пакетов. Пакеты требуют строгой дисциплины, документации и структуры, которые действительно помогают применять лучшие практики (наряду с R CMD CHECK). Вы также можете использовать пакет codetools , чтобы помочь в этом. Для документации используйте пакет roxygen.
Помимо этого, я рекомендую вам не только векторизовать свой код, но, в частности, приложить все усилия для векторизации ваших функций , что означает, что вы должны иметь возможность предоставлять векторные аргументы и получать возвращаемые векторы (даже от таких вещей, как вызовы базы данных). Это действительно улучшит эффективность и ясность вашего кода в долгосрочной перспективе.
Наконец, мне очень нравится использовать что-то вроде Sweave, чтобы организовать свой код в виде четких и грамотных воспроизводимых исследований при написании отчета. Наряду с этим я рекомендую использовать пакет cache.
Вы уже дали некоторые подсказки, заявив, что ваш подход - это "взломать быстрые скрипты". Если вам нужны лучшие практики и структура, просто следуйте установленным лучшим практикам из CRAN:
R CMD check
, что очень полезно\examples{}
документации, поскольку он будет выполняться во время проверки R CMD
и обеспечивает легкий вход в регрессионное тестирование Для эффективности предпочтительнее векторные операции, а не для
петель.
В целом это хорошая практика программирования, но для управления кодом используйте систему контроля версий, такую как SVN.