统计年份显示与存储格式不同



我正在与Stata合作,并有一个从1990年到2015年的面板数据集。浏览数据时,年份显示为 1990、1991 等。但是,例如,当尝试减少一年时,它只能通过以下方式工作

drop if year==11

这导致2000年下降。绘制数据时,即时报价也显示为 1,2,3,4...,25、26,而不是实际年份。

如何将几年前转换为它们的实际值?

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

请注意,您应该仔细检查您的数据。当初为什么要以这种方式导入年份?当数据来自电子表格并且人们没有足够仔细地检查元数据(例如标题信息(时,通常会发生这种情况。

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 中,"格式"与存储的内容无关,而是与显示的内容有关。请参阅help format 。自然,这是计算中的一个超载术语。

相关内容

  • 没有找到相关文章

最新更新