CHE*_*HKA 1 label uniqueidentifier stata
我有一个庞大的面板数据集(1950-2012).
state year income
AL 2000 100
AK 2001 200
AZ 2002 150
...
AL 2003 120
AK 2004 10
AZ 2005 150
...
Run Code Online (Sandbox Code Playgroud)
问题是变量state可能在不同年份占用不同的值(但标签不会改变!).例如,在2001年,标签的价值AL是10,但在2003年,标签的价值AL是20.
我怎样才能创建唯一标识符,比如说一个新的变量stateID,AL无论年份如何都会为所有标签取整数值?egen stateID = group(state)没有帮助.还有其他方法吗?
这需要调查它是如何发生的以及数据是否可以信任.但在Stata技术方面,第一decode,然后encode再.示范:
. set obs 3
obs was 0, now 3
. gen numid = _n
. label define numid 1 "AL" 2 "AL" 3 "AL"
. label values numid numid
. list
+-------+
| numid |
|-------|
1. | AL |
2. | AL |
3. | AL |
+-------+
. decode numid, gen(strid)
. list
+---------------+
| numid strid |
|---------------|
1. | AL AL |
2. | AL AL |
3. | AL AL |
+---------------+
. encode strid, gen(newnumid)
. list
+--------------------------+
| numid strid newnumid |
|--------------------------|
1. | AL AL AL |
2. | AL AL AL |
3. | AL AL AL |
+--------------------------+
. list, nolabels
+--------------------------+
| numid strid newnumid |
|--------------------------|
1. | 1 AL 1 |
2. | 2 AL 1 |
3. | 3 AL 1 |
+--------------------------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5950 次 |
| 最近记录: |