Como organizar grandes programas de R?

Quando eu empreendo um projeto R de qualquer complexidade, meus scripts rapidamente ficam longos e confusos.

Quais são algumas das práticas que posso adotar para que meu código seja sempre um prazer trabalhar com ele? Estou pensando em coisas como

Posicionamento de funções em arquivos de origemQuando quebrar algo em outro arquivo de origemO que deve estar no arquivo mestreUsando funções como unidades organizacionais (se isso vale a pena, uma vez que R dificulta o acesso ao estado global)Práticas de recuo / quebra de linha.Trate (como {?Coloque coisas como)} em 1 ou 2 linhas?

Basicamente, quais são as suas regras gerais para organizar grandes scripts R?

questionAnswers(10)

yourAnswerToTheQuestion