楼主: hiderm
2505 4

求助(已解决):依据一个分类变量建立另一个分类变量的好方法 [推广有奖]

已卖:5228份资源

院士

59%

还不是VIP/贵宾

-

威望
1
论坛币
59515 个
通用积分
4044.5748
学术水平
253 点
热心指数
332 点
信用等级
219 点
经验
76220 点
帖子
2202
精华
1
在线时间
2767 小时
注册时间
2006-6-3
最后登录
2025-9-20

楼主
hiderm 发表于 2012-12-9 22:11:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现有一个类别变量industry,取值从1~99,每个取值分别代表不同的细分行业,并且已经添加了值标签。现在想建立一个行业大类的分类变量sector,如果按照普通的方法,应该是:
gen sector = 1 if industry == 1 | industry == 2 | industry == 5 | industry == 6
......

gen sector = 5 if industry == 78 | industry == 80 | industry == 81 | industry == 83
......

觉得这样好麻烦!
Stata11有没有什么命令可以让if后面的条件简化些,比如:
gen sector = 1 if 命令(varname, value1, value2, value3, value4,...)

即只要变量var的取值满足后面的多个取值, 就给变量sector赋值为1.
二维码

扫码加我 拉你入群

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

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

关键词:分类变量 已解决 Industry Stata11 sector

[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

沙发
fgleric 发表于 2012-12-9 23:17:53
因为你的sector和industry对应并不规则,所以只好用foreach了

loc sector1 "1 2 5 6"
loc sector5 "78 80 81 83"
forv i=1/N{ /* N是你的sector总数
gen secot`i'=0
foreach v of loc sector`i'{
replace sector`i'=1 if industry==`v'
}
}


藤椅
大白菜2012 发表于 2012-12-9 23:55:44
inrange(var,..............)

inlist(var,...........)
元芳,侬怎么L00K?

板凳
hiderm 发表于 2012-12-10 01:49:15
大白菜2012 发表于 2012-12-9 23:55
inrange(var,..............)

inlist(var,...........)
循着你的回复,在utilities中的[D]data management 第471页看到下面的例子:

We want to recode item by collapsing 1 and 2 into 1, 3 into 2, and 4 to 7 (boundaries included)
into 3.
. recode item (1 2 = 1) (3 = 2) (4/7 = 3), gen(Ritem)
or
. gen Ritem = item
. replace Ritem = 1 if inlist(item,1,2)
. replace Ritem = 2 if item==3
. replace Ritem = 3 if inrange(item,4,7)

多谢啦!
[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

报纸
hiderm 发表于 2012-12-10 01:52:09
fgleric 发表于 2012-12-9 23:17
因为你的sector和industry对应并不规则,所以只好用foreach了

loc sector1 "1 2 5 6"
谢谢,学习了!
[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-1 16:08