楼主: xts1xts
6655 10

STATA求助:如何统计年度-省份数据? [推广有奖]

  • 0关注
  • 1粉丝

博士生

91%

还不是VIP/贵宾

-

威望
0
论坛币
1386 个
通用积分
1.8875
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3084 点
帖子
175
精华
0
在线时间
453 小时
注册时间
2008-5-2
最后登录
2022-12-3

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想知道应该用什么命令统计:每年每个省份违规公司的数量?每家上市公司有违规行为的年度是vltyear变量。。
二维码

扫码加我 拉你入群

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

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

关键词:stata求助 Stata tata year 上市公司 统计 数据 Stata 年度 省份

a75e31297ab89ea7f1c7437a9381dcd8.png (19.07 KB)

a75e31297ab89ea7f1c7437a9381dcd8.png

沙发
xts1xts 发表于 2011-6-7 22:57:10 |只看作者 |坛友微信交流群
1# xts1xts 最好是能新建一个变量,不要直接在日志窗口输出结果。。。

使用道具

藤椅
zerana 发表于 2011-6-7 23:09:28 |只看作者 |坛友微信交流群
sum vltyear if vltyear==1
把mean*obs就是总数

使用道具

板凳
sungmoo 发表于 2011-6-8 07:16:06 |只看作者 |坛友微信交流群
xts1xts 发表于 2011-6-7 22:57 最好是能新建一个变量,不要直接在日志窗口输出结果
*不太清楚你的vltyear是怎么生成的。看看以下的t是不是你想要的结果:

bys vltyear province (dm year): egen t=sum((dm[_n-1]<.&dm[_n-1]!=dm))
replace t=t+1
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 1 + 1 + 1 非常热心

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

报纸
xts1xts 发表于 2011-6-8 12:06:41 |只看作者 |坛友微信交流群
3# zerana
sum vltyear if vltyear==1?
好像没有等于1的,这是每家公司有违规行为的年份。。

使用道具

地板
xts1xts 发表于 2011-6-8 12:09:12 |只看作者 |坛友微信交流群
4# sungmoo
vltyear是从数据库中下载的。
我昨晚是这么做的,请您帮忙看一看:
gen new=0
replace new=1 if year==vltyear
bys  year province: egen tongji=sum( new)
order dm year vltyear tongji

这样可以吗?

使用道具

7
sungmoo 发表于 2011-6-8 12:23:17 |只看作者 |坛友微信交流群
xts1xts 发表于 2011-6-8 12:09
我昨晚是这么做的,请您帮忙看一看:
gen new=0
replace new=1 if year==vltyear
bys  year province: egen tongji=sum( new)
order dm year vltyear tongji
这样可以吗?
*以上命令可以合并为:

bys year province: egen tongji=sum(year==vltyear)

这个首先要看全数据集是什么样子的。

(另外,我始终对vltyear这个变量的生成有些费解,这个变量如果生成得好,后面不必费更多的力)

使用道具

8
xts1xts 发表于 2011-6-8 13:20:36 |只看作者 |坛友微信交流群
7# sungmoo
谢谢您!
vltyear这个数据,就是从国泰君安的数据库中下载的,关于每家上市公司存在违规行为情况的统计,即违规的公司的代码、违规行为发生的年份。
这么说能清楚一些吗?
或者,你的疑问具体是什么呢?

使用道具

9
sungmoo 发表于 2011-6-8 14:38:13 |只看作者 |坛友微信交流群
xts1xts 发表于 2011-6-8 13:20 vltyear这个数据,就是从国泰君安的数据库中下载的,关于每家上市公司存在违规行为情况的统计,即违规的公司的代码、违规行为发生的年份。这么说能清楚一些吗?或者,你的疑问具体是什么呢?
vltyear这个变量不需要是年份,只要是一个哑元即可。若某公司在某一年违规,则vltyear=1(否则=0)即可。

现在vltyear中虽然列出了违规年份,但对于某公司而言,为什么要这么列呢?简单说,year的观测值与vltyear的观测值究竟是什么关系?

以dm==11为例。

dm year vltyear province
11 1992 1994 广东
11 1993 1994 广东
11 1994 1994 广东
11 1995 1994 广东
11 1996 1994 广东
11 1997 1999 广东
11 1998 1999 广东
11 1999 1999 广东
11 2000 1999 广东
11 2001 1999 广东
11 2002 2000 广东

从中可以看出,该公司有3个年份违规。那么,vltyear可不可以列成如下呢:
11 1992 1994 广东
11 1993 1999 广东
11 1994 2000 广东
11 1995 1994 广东
11 1996 1999 广东
11 1997 2000 广东
11 1998 1994 广东
11 1999 1999 广东
11 2000 2000 广东
11 2001 1994 广东
11 2002 1999 广东

使用道具

10
sungmoo 发表于 2011-6-8 14:41:00 |只看作者 |坛友微信交流群
xts1xts 发表于 2011-6-8 12:09
vltyear是从数据库中下载的。
我昨晚是这么做的,请您帮忙看一看:
gen new=0
replace new=1 if year==vltyear
bys  year province: egen tongji=sum( new)
order dm year vltyear tongji
这样可以吗?
如果year与vltyear之间的关系含糊,无法判断上述做法是否可以。

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 16:25