全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3148 6
2009-02-15

现有一个分省的面板数据,共10年30省,假设每个省均有A,B,C三个指标,现要求按每个省10年中A的平均值大小进行分二组,每组共15个省。有何快捷的办法在stata中实现。

本人先gen一个变量D,取其中一省10年平均值作为其每年的值一,其余的为点,然后采用replace  D=另一省的平均值 if id为该省。但此办法较麻烦,如果按多个指标多次分组的话,工作量太多,请问有无更好的办法?谢谢!

[此贴子已经被作者于2009-2-16 10:10:12编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2009-2-15 21:54:00

可以用forvalues 命令

forvalues i=2/30 {

replace D = 另一省的平均值 if id == `i'

}

应该这样就可以了

二维码

扫码加我 拉你入群

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

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

2009-2-16 00:11:00

多谢,vincent829,请问另一省的平均值又如何表示出来,是不是要用二个循环命令?

编写了一个,打算计算每期的平均值,如下:

forvalues i=2/6 {
mean(allenterprisepop) if idcode=="i"
}

但执行结果为:

. forvalues i=2/6 {
  2. mean(allenterprisepop) if idcode=="i"
  3. }
type mismatch
r(109);
是什么原因?

[此贴子已经被作者于2009-2-16 0:31:08编辑过]

二维码

扫码加我 拉你入群

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

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

2009-2-16 07:55:00

*xtset province year

sort province year

by province: g n=_n

by province: egen a=mean(x)

sort n a

by n: g no=_n

g g=(no<16)

*g即分组变量(取0与1),x是求均值的变量


eblog  金币 +5  金钱 +100  奖励 2009-4-15 9:26:13
二维码

扫码加我 拉你入群

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

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

2009-2-16 08:09:00

*上面的命令要求平衡面板数据。对于非平衡(平衡亦可)面板数据:

sort province year

by province: g n=_n

by province: egen a=mean(x)

sort n a

g l=_n if n==1

sort province year

by province: egen no=min(l)

g g=(no<16)

二维码

扫码加我 拉你入群

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

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

2009-2-16 09:04:00
不要用双引号,要用单引号
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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