无法恢复错误

时间:2018-06-15 19:35:09

标签: stata

我有一个do - 文件,用于清理Stata数据集并生成描述性统计信息。此文件中的第一个命令是preserve,而最后一个命令是restore

do - 文件太长而无法在此处附加,但在这两个命令之间,还有其他命令,例如generatereplacetabulate和{{1 }}

问题是有时我会收到以下错误消息:

  

无需恢复

有谁知道可能出错了什么?

1 个答案:

答案 0 :(得分:2)

当您尝试运行某些代码行时,问题就出现了 您的do文件分块,而不是一次运行整个do文件。

为了说明确实如此,请考虑以下玩具示例:

sysuse auto, clear

preserve

keep price mpg weight foreign

regress price mpg weight foreign

restore

如果您从上面的代码段中选择前三行并按“执行” 在do - 文件编辑器中,Stata将成功地执行这些操作然后将执行 自动恢复数据集。

(要看到这一点,只需在上面的示例中注释preserve。在这种情况下,运行所选代码完成后的数据集将只包含指定的四个变量。)

现在,如果您尝试运行其余代码,Stata会抱怨:

. restore
nothing to restore
r(622);

之所以这样,是因为Stata已经恢复了数据集。