如果你可以回到过去并告诉自己在开始时作为开发人员阅读一本特定的书,那本书会是哪本书?
我希望这个列表可以变化,涵盖范围广泛.
要搜索:使用右上角的搜索框.要搜索当前问题的答案,请使用inquestion:this.例如:
inquestion:this "Code Complete"
Run Code Online (Sandbox Code Playgroud) 有没有人对与自定义报告编写相关的数据分析工作流程有任何了解?用例基本上是这样的:
客户委托使用数据分析的报告,例如人口估计和水区的相关地图.
分析人员下载一些数据,对数据进行检测并保存结果(例如,为每个单位添加一列,或根据区域边界对数据进行子集化).
分析师分析了(2)中创建的数据,接近她的目标,但看到需要更多数据,因此可以追溯到(1).
冲洗重复,直到表格和图形符合QA/QC并满足客户要求.
编写包含表格和图形的报告.
明年,快乐的客户回来了,想要更新.这应该像通过新下载更新上游数据一样简单(例如,从去年获得建筑许可),并按下"RECALCULATE"按钮,除非规格发生变化.
目前,我只是开始一个目录,并尽我所能.我想要一个更系统化的方法,所以我希望有人能够解决这个问题......我使用了电子表格,SQL,ARCGIS,R和Unix工具.
谢谢!
PS:
下面是一个基本的Makefile,用于检查各种中间数据集(带.RData后缀)和脚本(.R后缀)的依赖关系.使用时间戳来检查依赖关系,因此,如果您touch ss07por.csv,它将看到此文件比依赖它的所有文件/目标更新,并执行给定的脚本以便相应地更新它们.这仍然是一项正在进行的工作,包括放入SQL数据库的步骤,以及像sweave这样的模板语言的步骤.请注意,Make依赖于语法中的选项卡,因此请在剪切和粘贴之前阅读手册.享受并提供反馈!
http://www.gnu.org/software/make/manual/html_node/index.html#Top
R=/home/wsprague/R-2.9.2/bin/R
persondata.RData : ImportData.R ../../DATA/ss07por.csv Functions.R
$R --slave -f ImportData.R
persondata.Munged.RData : MungeData.R persondata.RData Functions.R
$R --slave -f MungeData.R
report.txt: TabulateAndGraph.R persondata.Munged.RData Functions.R
$R --slave -f TabulateAndGraph.R > report.txt
当我承担任何复杂的R项目时,我的脚本会很快变得混乱.
我可以采用哪些做法,以便我的代码永远乐于与之合作?我在考虑类似的事情
基本上,组织大型R脚本的经验法则是什么?
r conventions code-organization project-organization package
我记得R用户写过他们使用"版本控制"(例如:"源代码控制"),我很想知道:你如何将"版本控制"与统计分析工作流程结合起来?
两个(非常)有趣的讨论谈论如何处理工作流程.但它们都没有引用修订控制元素:
对问题的长期更新:根据一些人的答案,以及评论中的Dirk的问题,我想更多地指出我的问题.
在阅读了关于" 版本控制 " 的Wiki文章(我以前不熟悉)之后,我很清楚,在使用版本控制时,我们所做的就是构建他的代码的开发结构.这种结构要么导致"最终产品",要么导致几个分支.
当建立类似的东西时,比方说,一个网站.通常有一种最终产品(网站),一路上有一些原型.
但在进行统计分析时,工作(我认为)是不同的.有时你知道你想去哪里.但更多时候,你会探索.探索清理数据集.探索不同的统计分析方法,并询问您的数据的各种问题(我正在写这篇文章,了解Frank Harrell和其他经验统计学家对数据挖掘的看法).
这就是为什么统计编程的工作流程问题(在我看来)是一个严肃而深刻的问题,引发了许多问题,更简单的问题是技术问题:
如何你解决这种紧张是我最初的好奇.第二个问题是"我可能会缺少什么?".应该遵循哪些(经验)规则,以避免使用版本控制进行统计编程时常见的陷阱?
在我的直觉中,我觉得统计编程本质上与软件开发不同(我写的不是统计编程的真正专家,在软件开发中更是如此).这是我不确定我在这里阅读的关于版本控制的哪些课程将适用的方式.
非常感谢,Tal