在完成do文件后,我可以以某种方式保留Stata中本地宏的值吗?

时间:2013-09-06 00:04:40

标签: local stata

每当我为代码添加新的谎言时(例如,在计算不同的估计时),我不想再次重新运行整个do文件。但是,我经常需要在上一次运行do-file期间生成的某些本地宏的值。

有没有办法保留这些价值观?或者我应该转而使用更多全局变量?

2 个答案:

答案 0 :(得分:3)

是的,请使用global

但请注意,由于您使用它的确切原因,您需要小心global:宏将保留在内存中,直到您退出该Stata实例,或直到您在代码中重置它为止。

有些人对于不使用global有非常强烈的感受(参见第5页,并在此处继续:http://faculty.chicagobooth.edu/matthew.gentzkow/research/ra_manual_coding.pdf)。一旦你了解了他们的财产,并且不会招致他们可能造成的少量问题,你应该没事。

答案 1 :(得分:2)

全球不是唯一的选择。

首先,考虑使用标量。具有永久名称的标量将在do文件的末尾之后存活。

其次,考虑将您的文件转换为程序并了解已保存的结果。

第三,您始终可以考虑将结果放入新变量中;只是它通常是糟糕的风格和存储浪费。

猜测,第一个可能对你最有用。许多Stata用户很乐意使用带有许多特定于数据集的语句的do文件。跳到写完全成熟和更一般的程序是一个巨大的跳跃,而不是(起初)微不足道。