全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
35360 9
2013-07-17
用encode(var1),generate(var2),总是出错
我想改的不是变量名,而是变量名下面的每一个变量,这些变量都对应一个代码
比如我有个变量时industry,我就想把下面每一个industry变成一个数字代码
那应该是encode(industry=Oil and Gas Exploration),generate(industry=6004)吗,我试了很多种都不成功
用encode有错吗,还是应该用其他的呢?
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-7-17 11:26:17
. sysuse auto
(1978 Automobile Data)

. encode make,gen(makeid)

. label drop makeid

. list make makeid in 1/10

     +------------------------+
     | make            makeid |
     |------------------------|
  1. | AMC Concord          1 |
  2. | AMC Pacer            2 |
  3. | AMC Spirit           3 |
  4. | Buick Century        7 |
  5. | Buick Electra        8 |
     |------------------------|
  6. | Buick LeSabre        9 |
  7. | Buick Opel          10 |
  8. | Buick Regal         11 |
  9. | Buick Riviera       12 |
10. | Buick Skylark       13 |
     +------------------------+

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-17 22:32:35
蓝色 发表于 2013-7-17 11:26
. sysuse auto
(1978 Automobile Data)
不好意思,我没怎么看明白呢~能文字解释下吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-17 23:58:58
make 是汽车的牌子
我那不是用命令给不同汽车品牌给予数值的编码吗

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-20 12:33:33
蓝色 发表于 2013-7-17 23:58
make 是汽车的牌子
我那不是用命令给不同汽车品牌给予数值的编码吗
多谢啦,我一用这个命令,那些相对应的industry的编码就自己出来了~但不是按照1,2,3,4...这种,是他自己的编码,可能是
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-20 14:21:51
bambooryz 发表于 2013-7-20 12:33
多谢啦,我一用这个命令,那些相对应的industry的编码就自己出来了~但不是按照1,2,3,4...这种,是他自己的 ...
如果你已经有一个行业列表的话,就把两个数据merge起来;如果没有的话,就只能
gen ind=.
replace ind=?? if industry==""

不过我估计你属于第一种情况,所以假设你又一个行业列表文件(假设叫作ind),包括两个变量:industry(字符)和ind(数字),现在仅需要将你的主文件和这个文件都对industry排序:sort industry,然后
merge industry using ind
就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群