Stata 年份显示与存储格式不同
Stata year display different than stored format
我正在使用 Stata 并有一个面板数据集,年份从 1990 年到 2015 年。浏览数据时,年份显示为 1990、1991 等。但是,例如,当尝试减少一年时,它只能按以下方式工作
drop if year==11
这导致 2000 年下降。绘制数据时,刻度也显示为 1,2,3,4...,25,26,而不是实际年份。
如何将年份换算成它们的实际值?
听起来好像你或其他人用 year
作为字符串变量读入数据,然后使用 encode
生成数字变量。这是完全错误的方法,正如您所发现的:您 而不是 希望将字符串映射到整数 1 上。在这种情况下你需要 destring
。现在您已完成此操作,您需要 decode
,然后是 destring
或(如果原始变量仍存在于数据集中)destring
。
请注意,您应该仔细检查您的数据。为什么首先以这种方式导入年份?当数据来自电子表格并且人们没有足够仔细地检查元数据(例如 header 信息)时,通常会发生这种情况。
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
。自然地,它是计算中的一个重载术语。
我正在使用 Stata 并有一个面板数据集,年份从 1990 年到 2015 年。浏览数据时,年份显示为 1990、1991 等。但是,例如,当尝试减少一年时,它只能按以下方式工作
drop if year==11
这导致 2000 年下降。绘制数据时,刻度也显示为 1,2,3,4...,25,26,而不是实际年份。
如何将年份换算成它们的实际值?
听起来好像你或其他人用 year
作为字符串变量读入数据,然后使用 encode
生成数字变量。这是完全错误的方法,正如您所发现的:您 而不是 希望将字符串映射到整数 1 上。在这种情况下你需要 destring
。现在您已完成此操作,您需要 decode
,然后是 destring
或(如果原始变量仍存在于数据集中)destring
。
请注意,您应该仔细检查您的数据。为什么首先以这种方式导入年份?当数据来自电子表格并且人们没有足够仔细地检查元数据(例如 header 信息)时,通常会发生这种情况。
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
。自然地,它是计算中的一个重载术语。