我认为,经常感觉你在探索性分析中掉进了兔子洞的倾向是由于忽视了你所问的实质性问题。我自己做,偶尔,然后不得不提醒自己我的目标是什么。例如,我是在尝试构建特定模型,还是评估现有模型的充分性?我是否在寻找数据存在问题的证据(即法证数据分析)?或者,这是在分析的早期阶段,在继续开发正式模型之前,我正在非正式地调查特定问题(例如,两个变量之间是否存在关系?)?总而言之,如果您发现自己在制作图表和表格,但不能清楚地说明您的近期目标是什么或为什么该图表/表格是相关的,那么您知道您
我尝试像写作一样进行探索性数据分析,无论是编写程序还是撰写文章。在任何一种情况下,如果不先制作大纲,我都不会开始。当然,该大纲可以更改(并且经常更改),但是在没有大纲的情况下开始编写是低效的,并且通常会产生糟糕的最终产品。
在 WRT 组织中,每个分析师都必须找到适合他或她的工作流程——这样做比试图严格遵循其他人的工作流程更重要(尽管从其他人的工作中获取想法总是有帮助的)。如果您以编程方式工作(即编写可以运行以生成/重新生成一组结果的代码)并将您的工作检查到 git 中,那么您在这方面已经领先许多人了。我怀疑您可能只需要花一些时间来组织您的代码,为此,我建议您遵循您的大纲。例如,使您的分析文件相对较短且有针对性,以便每个文件都回答一个特定问题(例如,特定回归模型的诊断图)。根据项目的规模和复杂性,将它们组织到一个或两个级别的子目录中。这样,项目就变成了自文档化的;理论上,目录、子目录和文件的列表视图(以及每个文件顶部的注释)应该重现您的大纲。
当然,在一个大型项目中,您可能还拥有进行数据清理和管理的代码、为估计某种类型的模型而编写的代码,或者您编写的其他实用程序,这些不符合实质性数据分析的大纲,因此它们应该组织在项目文件夹的不同部分中。
更新:发布此消息后,我意识到我没有直接解决您关于“死胡同”的问题。如果你真的认为一整套分析没有价值,那么如果你在 git 中工作,你总是可以删除相应的文件,并带有提交消息,例如“放弃这行分析,因为它不是富有成效的。” 不像把你写的东西揉成一团扔进垃圾桶,如果需要,你总是可以回到你以后做的事情。
但是,我想你会发现,如果你从一个你已经考虑过的大纲开始,你就会有更少的所谓死胡同。相反,如果你花时间调查一个有价值且相关的问题——即使这会导致一个无效的发现或结果不像你预期的那样——你可能仍然希望记录你所做的事情和结果(在最低限度,这样您以后就不会犯错重复此操作)。只需将它们移到大纲的底部,类似于“附录”。