不止一次保存数据

时间:2018-05-31 23:27:04

标签: stata stata-macros

我在Stata中编写了一些代码,我已经使用了preserve一次。但是,现在我想再次preserve,而不使用restore

我知道这会给出错误信息,但它会保存到新的保留区域吗?

1 个答案:

答案 0 :(得分:3)

不,保留两次而不恢复中间只会引发错误:

sysuse auto, clear

preserve
drop mpg

preserve
already preserved
r(621);

但是,您可以使用临时文件执行类似操作。来自help macro

  

" ... tempfile 将名称分配给指定的本地宏名称,这些名称可用作临时文件的名称。当程序或文件结束时,任何   使用这些指定名称创建的数据集将被删除..."

考虑以下玩具示例:

tempfile one two three

sysuse auto, clear
save `one'

drop mpg
save `two'

drop price
save `three'

use `two'
list price in 1/5

     +-------+
     | price |
     |-------|
  1. | 4,099 |
  2. | 4,749 |
  3. | 3,799 |
  4. | 4,816 |
  5. | 7,827 |
     +-------+

use `one'
list mpg in 1/5

     +-----+
     | mpg |
     |-----|
  1. |  22 |
  2. |  17 |
  3. |  22 |
  4. |  20 |
  5. |  15 |
     +-----+