【问题标题】:How to run ado file in another ado file in Stata?如何在Stata的另一个ado文件中运行ado文件?
【发布时间】:2011-08-02 14:56:43
【问题描述】:

在 R 中,我可以使用

运行另一个 R 脚本
source("script.R")

我怎样才能在 Stata 中做同样的事情?

【问题讨论】:

    标签: stata


    【解决方案1】:

    在Stata中,有两种类型的脚本:

    1. 有一些 do-files,它们是您键入时的命令序列,其中可能包含几乎所有内容, 和
    2. 有 ado 文件,它们是独立的程序脚本。 Ado 代表“自动加载的 DO 文件”。

    主要区别是执行do-file需要doit或runit:

    do whatever.do
    

    显示输出,并且

    run whatever.do
    

    抑制输出。

    顾名思义,自动加载的do-files是自动加载的。当你输入

    blah blah1 blah2
    

    Stata 将首先在其内存中查找程序blah。如果不存在,它将在其adopath 中标识的子目录中查找文件blah.ado,默认情况下包括 Stata 自己的目录以及当前目录(如果您是,请键入adopath 以了解更多信息)感兴趣的)。如果它找到这个blah.ado,它将(1)确保它里面有program define blah,并且(2)尝试使用你提供的任何参数(blah1 blah2)来执行这个程序。如果在任何地方都找不到文件blah.ado,则会发出错误消息:

       . blah blah1 blah2
       unrecognized command:  blah
       r(199);
    

    【讨论】:

    • 您肯定可以在 .ado 文件中定义多个程序。在这种情况下,顶层程序可以调用后面的程序。您使用的许多 .ado 文件都是以这种方式构建的。我不确定 Stata 如何处理与 adopath 中其他程序的命名冲突,但它很容易测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多