细化变量

时间:2017-04-26 11:32:08

标签: stata

我有一个数据集,其数据按月和年分类。我想destring月份变量,这样我最终可以创建一个日期变量,但因为它们都标记为1月,2月等,我如何destring变量?

1 个答案:

答案 0 :(得分:0)

你没有。这是日期功能的工作。所有都记录在案,例如通过help datetime

destring用于恰好被读取为字符串变量的数字,因此典型条目可能是"42""666"。当变量包括元数据(例如标题行)或缺失的非Stata标志(例如"NA")或一些其他非数字字符时,通常会出现以字符串形式导入,通常只有一个观察。从MS Excel导入是一个常见原因,因为电子表格用户在数字数据列中洒水时往往会松散。

具有"January"等值的变量不符合条件。在您的脑海中,月份名称映射到月份数字,但destring不会分享该知识。

日期功能有这个职位:

* Example generated by -dataex-. To install: ssc install dataex
clear
input str8 month float year
"January"  2017
"February" 1942
end

gen mdate = monthly(month + string(year), "MY")

list 

     +-------------------------+
     |    month   year   mdate |
     |-------------------------|
  1. |  January   2017     684 |
  2. | February   1942    -215 |
     +-------------------------+

format mdate %tm

list 

     +--------------------------+
     |    month   year    mdate |
     |--------------------------|
  1. |  January   2017   2017m1 |
  2. | February   1942   1942m2 |
     +--------------------------+

(感兴趣的声明:destring的原作者。)

另见this thread