全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
9838 6
2010-07-22
知道了一个分组变量生成多个虚拟变量,现在碰到了一个相反的问题,如何根据多个虚拟变量合成一个分组变量,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-22 17:45:55
g x=x1+2*x2+3*x3+4*x4+…
二维码

扫码加我 拉你入群

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

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

2010-7-22 19:52:18
好办法,我也是这样做的。一开始还以为类似反"ta",之类的用法
二维码

扫码加我 拉你入群

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

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

2010-7-25 12:25:11
sungmoo 发表于 2010-7-22 17:45
g x=x1+2*x2+3*x3+4*x4+…
如果不考虑tab后的变量是否连续、是否含有0
gen b2=x1+2*x2+3*x3+4*x4+5*x5+6*x6+7*x7

reshape long
drop if
等效

有个问题:tab后的变量如果不连续,如果含有0,会出现差异。如
clear
set obs 10
gen a=_n
set seed 123546987
gen b=int(10*uniform())
tab  b,gen(x)
gen b2=x1+2*x2+3*x3+4*x4+5*x5+6*x6+7*x7
reshape long x,i(a) j(b1)
drop if x==0
二维码

扫码加我 拉你入群

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

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

2010-7-26 15:07:07
sungmoo 发表于 2010-7-22 17:45
g x=x1+2*x2+3*x3+4*x4+…
用这种方法新生成的x和原哑巴量xi之间的关系非唯一,如(0010)→3,而(1100)→3,这是否有问题呢?当然,假如原哑变量是由tab, gen()命令生成的话将不存在此问题。

个人认为用
g x=x1+2*x2+4*x3+8*x4+...
是否会更合理些?
二维码

扫码加我 拉你入群

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

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

2010-7-26 15:36:52
sungmoo 发表于 2010-7-22 17:45
g x=x1+2*x2+3*x3+4*x4+…
也可用egen x=group(x1-x4),好像是命令gen x=x1+2*x2+3*x3+4*x4+… 的反序。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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