全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8583 10
2012-12-30
如有city及year及GDP变量
如何按city 和year分组,在各year下,对GDP水平从高到低的ctiy进行排名,并对最高的10名进行加总,即计算各year下,对GDP排在前10的city的GDP进行求和。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-31 11:45:28
xgroup city year, gen(gg) label lname(city_year)
gsort gg -GDP
bysort gg: egen sum_GDP = sum(GDP) if _n<=10&_N>=10
二维码

扫码加我 拉你入群

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

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

2012-12-31 15:01:04
arlionn 发表于 2012-12-31 11:45
xgroup city year, gen(gg) label lname(city_year)
gsort gg -GDP
bysort gg: egen sum_GDP = sum(GDP)  ...
连老师真是热情!支持
二维码

扫码加我 拉你入群

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

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

2013-1-1 04:11:19
arlionn 发表于 2012-12-31 11:45
xgroup city year, gen(gg) label lname(city_year)
gsort gg -GDP
bysort gg: egen sum_GDP = sum(GDP)  ...
小问题——加总应是total()
sum是running sum累积和
上文收回,代码无误,
egen sum() 同egen total() 求总

gen sum()是running sum 累积和

二维码

扫码加我 拉你入群

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

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

2013-1-1 06:11:19
monstersivle 发表于 2013-1-1 04:11
小问题——加总应是total()
sum是running sum累积和
*egen  xx=sum() 是 stata9及以前版本的公式,stata10以后改成了total
*看看下面的例子就知道了

clear
input ///
id  x
1   1
1   2
1   3
2   4
2   5
2   6
end

bysort id: egen x1=sum(x)
bysort id: egen x2=total(x)
bysort id:  gen x3=sum(x)
lis

二维码

扫码加我 拉你入群

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

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

2013-1-1 06:12:40
. clear

. input ///
> id  x

            id          x
  1. 1   1
  2. 1   2
  3. 1   3
  4. 2   4
  5. 2   5
  6. 2   6
  7. end

.
. bysort id: egen x1=sum(x)

. bysort id: egen x2=total(x)

. bysort id:  gen x3=sum(x)

. list

     +-----------------------+
     | id   x   x1   x2   x3 |
     |-----------------------|
  1. |  1   1    6    6    1 |
  2. |  1   2    6    6    3 |
  3. |  1   3    6    6    6 |
  4. |  2   4   15   15    4 |
  5. |  2   5   15   15    9 |
  6. |  2   6   15   15   15 |
     +-----------------------+

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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