楼主: teresayou
7367 17

求助 table [推广有奖]

11
sungmoo 发表于 2009-2-19 18:43:00

上面显示的是:三个市场中,各自其中市场占有率最大的四个企业的市场占有率,并按高低排列。

并不显示,其中的四个企业是哪些企业。

12
蓝色 发表于 2009-2-19 18:51:00

自己假设的数据

295147.rar (3.01 KB) 本附件包括:

  • market.dta
  • Book1.xls
  • market.do

13
蓝色 发表于 2009-2-19 18:53:00


. sort market code

. by market:gen y=cratio[_n-1]
(3 missing values generated)

. replace y=0 if y==.
(3 real changes made)

. gen ratio=cratio-y

.
. gsort market -ratio

. by market: gen id=_n

. keep  if id<5
(17 observations deleted)

. keep market id ratio

. table id market,c(mean ratio)

----------------------------------------
          |            market          
       id |        1         2         3
----------+-----------------------------
        1 | .2051282  .1818182  .1403509
        2 | .2051282  .1818182  .1403509
        3 | .1538462  .1590909   .122807
        4 | .1282051  .1363636  .1052632
----------------------------------------

.
end of do-file

[此贴子已经被作者于2009-2-19 18:56:14编辑过]

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 5 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

14
teresayou 发表于 2009-2-19 18:53:00

是的, 第二列是累计占有率. 多写SUNGMOO,我的问题解决了.  


15
sungmoo 发表于 2009-2-19 19:01:00
以下是引用teresayou在2009-2-19 18:53:00的发言:是的, 第二列是累计占有率

此时采用:

sort m r

g x=r

by m: replace x=r[_n-1] if _n>1

by m: replace r=r-x if _n>1

gsort m -r
by m: keep if _n<=4
forv i=1(1)3{
g m`i'=.
replace m`i'=r[_n+4*`i'-4] in f/4
}
list m1 m2 m3 in f/4

[此贴子已经被作者于2009-2-19 19:06:46编辑过]

16
teresayou 发表于 2009-2-19 19:05:00
多谢蓝色!

17
teresayou 发表于 2009-2-19 19:08:00
以下是引用sungmoo在2009-2-19 19:01:00的发言:
以下是引用teresayou在2009-2-19 18:53:00的发言:是的, 第二列是累计占有率

此时采用:

sort m r

g x=r

by m: replace x=r[_n-1] if _n>1

by m: replace r=r-x if _n>1

gsort m -r
by m: keep if _n<=4
forv i=1(1)3{
g m`i'=.
replace m`i'=r[_n+4*`i'-4] in f/4
}
list m1 m2 m3 in f/4


我注意到着个问题了, 谢谢!

18
sungmoo 发表于 2009-2-19 19:14:00

如果第二列是累计占有率,应该先按第一列、第二列从低到高排序:sort m r

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 12:49