无恢复的错误(Nothing to restore error)

2019-09-28 06:13发布

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

do -file太长,这里附上但是这两个命令之间,还有其他如generatereplacetabulatecollapse

问题是,有时我得到以下错误信息:

没有恢复

有谁知道什么可能是错了吗?

Answer 1:

这个问题提出了自己,当你试图在运行某些代码行do的块文件,而不是运行整个do一气呵成文件。

为了说明这确实是这样,考虑下面的玩具例子:

sysuse auto, clear

preserve

keep price mpg weight foreign

regress price mpg weight foreign

restore

如果选择从上面的代码片断,然后按前三行“执行”,在do -file编辑器,塔塔将成功地携带这些出来,然后会自动恢复数据集。

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

现在,如果你尝试运行该代码的其余部分,塔塔会抱怨:

. restore
nothing to restore
r(622);

这样做的原因是因为塔塔已经恢复了数据集。



文章来源: Nothing to restore error
标签: stata