如何只运行一长串Stata do文件代码? (例如30-3200行)

时间:2016-03-29 22:05:20

标签: stata

我有一个非常非常长的do文件,每800行左右运行不同的命令集。 (总共约8000行)。

每次选择行30-3200非常麻烦,以便运行代码。是否可以编写仅运行特定代码段的命令?可能还有多个部分?例如运行30-3200行,然后是4800-5400。

谢谢!

1 个答案:

答案 0 :(得分:2)

我通常采取以下两种方法之一:

  1. 对于大项目,将分析拆分为单独的文件(例如,clean.do文件用于准备数据,stats.do文件用于摘要统计,analysis.do文件用于回归,...)。然后,创建类似build.do文件的内容,该文件使用include命令运行其他文件:

    // build.do - Run the full analysis
    include clean.do
    include stats.do
    include analysis.do
    

    然后,您可以通过在命令提示符下键入include file.do来重新运行管道的选定部分。 如果您正在使用源代码管理并与其他人协作,则将分析拆分为这样的单独文件也是一个好主意。

  2. 您可以使用一个文件来选择运行部分代码:

    args run_a run_b
    
    if `run_a' == 1 {
        // run the part A code ...
    }
    
    if `run_b' == 1 {
        // run the part B code ...
    }
    

    然后,通过将参数传递给脚本来指定要运行的代码部分。例如,do file.do 1 0仅运行A部分。使用大文件可能难以管理此方法;想象一下,想要记住10个不同的论点。

  3. 就个人而言,我更喜欢方法1.保持do文件简短,并给它们逻辑名称作为组织代码的方法。方法1还可以更容易地在其他项目中查找和重用代码。