全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4931 7
2009-07-07
全样本是01-04年的,我想把04年的样本扩大一倍,如何处理呢?
我知道全样本扩大一倍,可以用expand。
可现在就某一部分样本扩大,如何处理呢?此外,我需要一个标识变量识别新增加的样本,和原来被扩大的那部分样本。
谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2009-7-7 22:17:42
请教哪位老师。
二维码

扫码加我 拉你入群

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

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

2009-7-7 22:20:16
1. expand [=]exp [if] [in]
2. 需要重新标识吗?年份04年不就是它们的最佳标识吗?!
二维码

扫码加我 拉你入群

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

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

2009-7-7 23:21:53
guolaiguoqu 发表于 2009-7-7 21:38 全样本是01-04年的,我想把04年的样本扩大一倍,如何处理呢?我知道全样本扩大一倍,可以用expand。可现在就某一部分样本扩大,如何处理呢?此外,我需要一个标识变量识别新增加的样本,和原来被扩大的那部分样本。
*t是标识变量
g x=1
expandcl 2, cl(x) gen(t)
keep if t==1|(t==2&year==2004)
drop x

*等价于
g x=_n if year==2004
expand 2 if year==2004
bys year x: g t=_n if year==2004
recode t (.=1)
drop x
二维码

扫码加我 拉你入群

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

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

2009-7-7 23:27:35
*另一种方法(t的缺失值可酌情替换或保留)
g x=_n if year==2004
expand 2 if year==2004
bys year x: g t=_n if year==2004
drop x
二维码

扫码加我 拉你入群

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

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

2009-7-8 15:44:11
#voodoo
我的标识是指新生成的和被扩大的,它们都是一样的,都是2004年,所以需要标识一下,以便后面操作。

谢谢sungmoo,知道怎么做了。
不过,第二种方法“bys year: g t=(_n>_N/2) if year==2004”,这个stata会识别吗,会把新增加的与原来的分成前后两部分吗,不会随机混在一起吗?毕竟按year排序,大家year又一样。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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