首页 文章

Stata年份显示与存储格式不同

提问于
浏览
0

我正在使用Stata并拥有一个年度范围从1990年到2015年的面板数据集 . 在浏览数据时,年份显示为1990年,1991年等 . 但是,例如,当试图减少一年时,它只能按以下方式工作

drop if year==11

这导致2000年下降 . 当绘制数据时,刻度也显示为1,2,3,4 ...,25,26,而不是实际年份 .

如何将年份转换为实际值?

1 回答

  • 0

    听起来好像您或其他人使用 year 作为字符串变量读取数据,然后使用 encode 生成数字变量 . 这是非常错误的方法,正如你已经发现的那样:你做 not 希望字符串映射到整数1 . 那种情况你需要 destring . 既然你已经完成了这个,你需要 decode 然后 destring 或(如果原始变量仍然存在于数据集中) destring .

    请注意,您应该仔细检查您的数据 . 为什么一年以这种方式进口?当数据来自电子表格并且人们没有仔细检查元数据(例如 Headers 信息)时,通常会发生这种情况 .

    clear
    input str4 original 
    "1990"
    "1991"
    "1992"
    end 
    encode original, gen(year) 
    
    * solution 1 
    decode year, gen(year2) 
    destring year2, replace 
    
    * solution 2 (better) 
    destring original, replace 
    
    list 
    
         +-------------------------+
         | original   year   year2 |
         |-------------------------|
      1. |     1990   1990    1990 |
      2. |     1991   1991    1991 |
      3. |     1992   1992    1992 |
         +-------------------------+
    

    此外,在Stata中,"format"与存储的内容无关,而是与显示的内容无关 . 见 help format . 当然,它在计算中是一个过载的术语 .

相关问题