【问题标题】:Preserving data more than once多次保存数据
【发布时间】:2018-05-31 23:27:03
【问题描述】:

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

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

【问题讨论】:

    标签: stata stata-macros


    【解决方案1】:

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

    sysuse auto, clear
    
    preserve
    drop mpg
    
    preserve
    already preserved
    r(621);
    

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

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

    考虑以下玩具示例:

    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 |
         +-----+
    

    【讨论】:

      猜你喜欢
      • 2021-09-30
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      相关资源
      最近更新 更多