代码之家  ›  专栏  ›  技术社区  ›  ahala

R项目/包开发的ESS工作流

  •  14
  • ahala  · 技术社区  · 16 年前

    有人能分享他在ESS下R项目开发工作流程方面的经验吗?我试过几次学电子计算机,但还没学会。我可以理解ESS作为一个编辑器,但是ESS中有项目视图吗?建立/查看R项目目录、编码和测试的有效方法是什么?ESS如何具有促进整个过程的优势?

    您是只将ESS用作一个好的R编辑器,还是倾向于模仿ESS中的R IDE环境?

    谢谢你的建议。

    3 回复  |  直到 13 年前
        1
  •  10
  •   Community Mohan Dere    9 年前

    我不太确定你对这个问题的回答是什么。例如,我窃取(并修改)了一个建议的系统 here a little while ago (by Josh Reich) :

    为每个项目创建一个文件夹,并将您的工作拆分为一组不同的.r文件:

    • 把原始数据加载到r中;
    • 准备清除数据、重新编码变量等;
    • func.r,用于对评估所需的任何自定义函数进行编码;以及
    • 评估你最后的东西。

    如果这不符合你的风格,就改变它。

    然后,您可以有一个主文件来逐个调用每个部分(这有利于再现性),或者在不同的阶段保存,并让各个脚本加载适当的数据(如果某些准备工作非常需要计算/时间)。

    **

    另一方面,在链接上发布的技巧确实帮助我进入ESS。轮班进入一站式ESS店: http://www.kieranhealy.org/blog/archives/2009/10/12/make-shift-enter-do-a-lot-in-ess/

        2
  •  12
  •   Community Mohan Dere    9 年前

    听起来你问了两个问题。 一个问题涉及工作流,另一个问题涉及使用ESS。 当我使用statet和eclipse时,我将分享我在您问题的工作流方面的经验。

    和文森特一样,我也遵循乔希·雷奇在这里提出的工作流程(也可以参见哈德利的有用评论): Workflow for statistical analysis and report writing

    虽然它在不同的项目之间可能有所不同,但我倾向于有几个主要的R文件

    • import.r:这将导入数据文件,并执行任何必要的清理和操作
    • 这将生成我需要的任何最终报告的输出。
    • 这叫做import.r和analyse.r。

    其目的是为了导入.r和分析.r,以表示生成任何分析的最终结果的完整和最终工作流。

    在分析项目的目录结构方面,我通常还拥有以下文件夹

    • 数据 :用于存储任何原始数据文件
    • :用于存储元数据,如变量标签、测试评分系统、重新编码信息等。
    • 输出 :用于存储由分析生成的任何图形、表格或文本,我可能希望将这些图形、表格或文本合并到外部程序中。
    • 临时雇员 :在浏览数据和头脑风暴分析时,我喜欢将代码键入文件,而不是使用控制台。我倾向于给这些贴上temp1.r,temp2.r,temp3.r的标签。我把它们存储在temp文件夹中。这样我就有了一个永久的记录,很容易获得。如果分析成为最终结果,它们将被合并到一个主要的R文件中(即import.r或analysis.r)
    • 功能 :如果我认为在多个项目中需要一个函数,我通常会将它放在一个文件中的一个函数或一组相关函数中一个名为函数的文件夹中。当包开发的正式需求超出需要时,这使得跨项目重用功能相对容易。
    • 图书馆 :如果我想创建一些我认为特定于项目的常规函数,我将把它们放在这个文件夹中。
    • 节约 :存储任何已保存r对象的文件夹

    Statet和Eclipse使与此类文件系统的交互变得容易。 当然,考虑到所有使用ESS和Emacs的R专家,我确信它也能很好地处理与文件系统的交互。

        3
  •  3
  •   Steve Lianoglou    16 年前

    另外一些人给了你一些关于如何为项目设置目录/文件结构的好主意。

    您还询问了“项目视图”,在这种情况下,您可能希望查看 Emacs Code Browser (欧洲央行)。

    您可以在其网站上找到一些正在运行的屏幕截图,如下所示: http://ecb.sourceforge.net/screenshots/index.html